我有一個源數據框,需要循環所有評論的值,這些評論的值是在相應的名稱字段中存在的值,並且結果需要作爲DF中的新列添加。這也可以成爲一個新的DataFrame。Dataframe元素訪問
輸入數據:
Name Comments
0 N-1 Good
1 N-2 bad
2 N-3 ugly
3 N-1 very very good
4 N-3 what is this
5 N-4 pathetic
6 N-1 needs improvement
7 N-2 this is not right
8 Ano-5 It is average
[8 rows x 2 columns]
例如 - 對於評論的所有值名稱N-1,運行一個循環,並沿着與這些2個值添加的輸出作爲新的列(名稱,註釋) 。
我試圖做到以下幾點,並能夠根據名稱進行分組。但我無法通過評論的所有值運行爲他們追加輸出:
gp = CommentsData.groupby(['Document'])
for g in gp.groups.items():
Data1 = CommentsData.loc[g[1]]
#print(Data1)
數據在集團通過循環就這樣產生:
Name Comments
0 N-1 good
3 N-1 very very good
6 N-1 needs improvement
1 N-2 bad
7 N-2 this is not right
我無法訪問第2列中的值。 使用df.iloc[i]
- 我只能訪問第一個元素。但並非全部(因爲不同名稱的元素數量會有所不同)。
現在,我想使用Comment中的值,然後將輸出添加爲數據框中的附加列(可以是新的DF)。
預期輸出:
Name Comments Result
0 N-1 Good A
1 N-2 bad B
2 N-3 ugly C
3 N-1 very very good A
4 N-3 what is this B
5 N-4 pathetic C
6 N-1 needs improvement C
7 N-2 this is not right B
8 Ano-5 It is average B
[8 rows x 3 columns]
你正在尋找應用'()'? – Jan
@Jan - 謝謝。 是的,我正在尋找這樣的東西。 當我試圖應用(): '數據2 = Data1.apply(STR,軸= 1)'' 打印(DATA2)' 我正在怪異輸出以下面的格式: '2名稱無-1 \ n評論...' '16名稱N-1 \ n評論...' –
檢查樞軸,在這個答案:http://stackoverflow.com/questions/22798934/pandas-long-to-wide-reshape #35087831 - 你只想製作一張長桌子。 – kabanus