Python遍历列,在值之间添加','并应用于另一列中的单元格

时间:2018-06-27 18:02:49

标签: python pandas

我需要遍历单个列,并在每个值后面添加逗号“,”,然后将所有值连接到另一列内的单个单元格中(此下面的所有单元格都没有用“无内容/空白单元格”表示的值) ):

Raw data:                  output:
ID                         ID new
123                        123,456,789...
456                        no contents/blank cell
789                        no contents/blank cell

我到目前为止的代码:

import pandas as pd

#bring in dataset-
DF = pd.read_excel('c:/Desktop/List.xlsx', sheet_name="Sheet1")

DFlist = list(set(DF['ID']))
string = ",".join(map(str,DFlist))

print(string)

这恰好产生了我所需要的,但是我需要将其引入数据框的另一列中。当前,当我运行以下代码时,我收到一个错误,指出python pandas不喜欢我的列名:

DF['col'] = string + DF['col'].astype(str)

除了上述代码很可能是错误的事实之外,大熊猫也不会接受:

DF['col']....

1 个答案:

答案 0 :(得分:1)

这是您想要的吗?

df['col'] = ''  # initialize a blank column
df['col'].iloc[0] = ','.join([str(ident) for ident in df['ID'].unique()])

在一个小的数据帧上进行测试,该数据帧将所有用逗号分隔的ID放入'col'列的第一个单元格中,其余的将为空白。请注意,使用set()意味着您的ID不一定按任何特定顺序排列,这就是为什么我改用df['ID'].unique()