Sea*_*hon 2 python dataframe pandas
我有一个带有一列字符串的数据框。我试图找到(a)列中的最大单词数和(b)包含最大单词数的字符串的行。
我执行以下操作:
import pandas as pd
something = ["Hello how are you", "I am doing great", "Lets go camping"]
test = pd.DataFrame(something)
test.columns = ["Response"]
length_of_the_messages = test["Response"].str.split("\\s+")
print(length_of_the_messages)
print(length_of_the_messages.len().max())
Run Code Online (Sandbox Code Playgroud)
但这会生成一个错误,指出Seriesdoes has no attribute len。如何获取列中字符串的最大单词数及其行索引?
您可以使用.strand 作为索引.idxmax:
import pandas as pd
something = ["Hello how are you", "I am doing great", "Lets go camping"]
test = pd.DataFrame(something)
test.columns = ["Response"]
length_of_the_messages = test["Response"].str.split("\\s+")
print(length_of_the_messages)
print("Max number of words = ", length_of_the_messages.str.len().max())
print("Index = ", length_of_the_messages.str.len().idxmax())
Run Code Online (Sandbox Code Playgroud)
印刷:
0 [Hello, how, are, you]
1 [I, am, doing, great]
2 [Lets, go, camping]
Name: Response, dtype: object
Max number of words = 4
Index = 0
Run Code Online (Sandbox Code Playgroud)