【发布时间】:2021-07-11 04:15:23
【问题描述】:
我有一个像这样结构的数据框“New_data”
| Index | ID | Content |
|---|---|---|
| 0 | 001 | abc |
| 1 | 001 | def |
| 2 | 002 | ghi |
| 3 | 002 | lmn |
| 4 | 002 | opq |
| 5 | 003 | rst |
| 6 | 001 | uvz |
如您所见,“ID”列包含多个相等的 ID。我想创建一个附加列(“合并内容”),在每一行中,包含“ID”列中具有相同值的所有“内容”单元格的值。我想要这样的东西:
| Index | ID | Content | Merged content |
|---|---|---|---|
| 0 | 001 | abc | abc def uvz |
| 1 | 001 | def | abc def uvz |
| 2 | 002 | ghi | ghi lmn opq |
| 3 | 002 | lmn | ghi lmn opq |
| 4 | 002 | opq | ghi lmn opq |
| 5 | 003 | rst | rst |
| 6 | 001 | uvz | abc def uvz |
我尝试过使用 for 循环,但没有成功。
我已经创建了一个新的 df num ,其中 ID 列具有唯一值来迭代它们以及重复索引的问题,但我仍然无法解决我的问题。
这是我尝试应用的代码:
for i in range(len(num)):
ID = num.iloc[i,0]
for j in range(len(new_data)):
ID_data = new_data.iloc[j,index]
if ID == ID_data.iloc[j, 0]:
new_data['Merged Content'] = new_data['Merged Content'].append(new_data['Content'])
我收到此错误:
AttributeError: 'numpy.int64' object has no attribute 'iloc'
你能帮帮我吗?
【问题讨论】: