pandas向量化运算获取字符串的长度

Aer*_*rin 3 python vectorization string-length dataframe pandas

我有一个熊猫数据框。

df = pd.DataFrame(['Donald Dump','Make America Great Again!','Donald Shrimp'],
                   columns=['text'])
Run Code Online (Sandbox Code Playgroud)

我喜欢的是 Dataframe 中的另一列,其中包含“文本”列中字符串的长度。

对于上面的例子,它将是

                        text  text_length
0                Donald Dump           11
1  Make America Great Again!           25
2              Donald Shrimp           13
Run Code Online (Sandbox Code Playgroud)

我知道我可以循环它并获取长度,但是有什么方法可以向量化这个操作吗?我有几百万行。

jez*_*ael 6

使用str.len

print (df.text.str.len())                   
0    11
1    25
2    13
Name: text, dtype: int64
Run Code Online (Sandbox Code Playgroud)

样本:

import pandas as pd

df = pd.DataFrame(['Donald Dump','Make America Great Again!','Donald Shrimp'],
                   columns=['text'])
print (df)
                        text
0                Donald Dump
1  Make America Great Again!
2              Donald Shrimp

df['text_length'] = (df.text.str.len())                   
print (df)
                        text  text_length
0                Donald Dump           11
1  Make America Great Again!           25
2              Donald Shrimp           13
Run Code Online (Sandbox Code Playgroud)