尝试创建一袋熊猫的df

时间:2018-07-11 08:08:39

标签: python pandas bag

我是熊猫新手(对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美分的船促销价

非常感谢您的帮助!

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方法来处理所有行,而无需显式地对其进行迭代。