我是熊猫新手(对Python还是有些新手),并且正在尝试为特定列的每一行创建一袋单词。 This是我获取代码的地方,其后是我的尝试:
for index, row in df.iterrows():
cell = df.Review2.iloc[index]
df['BOW'].iloc[index] = pd.Series([y for x in cell for y in x.split()]).value_counts()
这是我要在其上执行上述操作的数据帧中的单个单元(因此,没有for循环可在所有行上进行迭代):
问题价格说折扣6瓶甚至显示减少支票更改5 最好的内阁,最好的内阁,最好的内阁,最好的内阁 曾经很棒的脆皮原本买了三瓶风买了整箱 假期好加州出租车 浓郁的味道1美分的船促销价
非常感谢您的帮助!
答案 0 :(得分:2)
import pandas as pd
from collections import Counter
df = pd.DataFrame({'review': ['Hello World Hello', 'Hi Bye Bye Bye']})
df['BOW'] = df.review.apply(lambda x: Counter(x.split(" ")))
review BOW
0 Hello World Hello {u'World': 1, u'Hello': 2}
1 Hi Bye Bye Bye {u'Bye': 3, u'Hi': 1}
我使用了熊猫apply方法来处理所有行,而无需显式地对其进行迭代。