我需要遍历单个列,并在每个值后面添加逗号“,”,然后将所有值连接到另一列内的单个单元格中(此下面的所有单元格都没有用“无内容/空白单元格”表示的值) ):
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']....
答案 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()
。