我有一个带有名为title
的字符串列的Pandas DataFrame,我希望将每行的条目转换为该字符串的长度。所以" abcd"将被转换为4等等。
我这样做:
result_df['title'] = result_df['title'].str.len()
但不幸的是,我收到了这个错误:
AttributeError: Can only use .str accessor with string values, which use np.object_ dtype in pandas
这似乎暗示我的专栏中实际上没有字符串......
我应该怎么做?
谢谢!
答案 0 :(得分:2)
您要么尝试将整列转换为str而不是值,要么在列中具有混合类型。尝试:
result_df['title'] = result_df['title'].apply(lambda x: len(str(x)))
答案 1 :(得分:2)
如果您的列包含字符串和数字数据,您可以先将所有内容转换为字符串然后获取长度。
result_df['title'] = result_df['title'].astype(str).str.len()
要查找非字符串/ unicode的数据,请尝试以下操作:
result_df.loc[result_df['title'].apply(
lambda x: not isinstance(x, (str, unicode))), 'title']