我正在尝试删除每行的重复项,然后创建一个列,其中包含该用户每行的计数。
当前DataFrame
UITextView
所需的DataFrame
time.sleep(5)
我尝试过像
这样的东西 handle tweet
0 CaptainNormal [@WayneDupreeShow, #climatechange, @Wsow]
1 Cebel6 [@NWAJimmy, @NWAJimmy, @gaystoner821]
2 davidjwalling [#infosec, #Intel, #ACM, #IEEE]
3 nolaguy_phd [@gaystoner821]
但一切都返回1.
答案 0 :(得分:1)
如果值为string
s,请先转换:
print (type(df.loc[0, 'tweet']))
<class 'str'>
import ast
df['tweet'] = df['tweet'].apply(ast.literal_eval)
替代:
df['tweet'] = df['tweet'].str.strip('[]').str.split(',\s+')
然后转换为set
并获取长度:
print (type(df.loc[0, 'tweet']))
<class 'list'>
df['tweet'] = df['tweet'].apply(lambda x: list(set(x)))
df['count'] = df['tweet'].str.len()
print (df)
handle tweet count
0 CaptainNormal [#climatechange, @Wsow, @WayneDupreeShow] 3
1 Cebel6 [@NWAJimmy, @gaystoner821] 2
2 davidjwalling [#ACM, #IEEE, #infosec, #Intel] 4
3 nolaguy_phd [@gaystoner821] 1