我要连接的Users_id
列表很大。我知道如何在excel中执行此操作,但是文件太大。
Users ID
101 101
102 101,102
103 101,102,103
104 101,102,103,104
这是我想要实现的目标。这是我到目前为止所拥有的。
import pandas as pd
df = pd.read_csv('file.csv')
pd.concat = df['USER ID']=.astype(str)+','+df['USER ID']
答案 0 :(得分:1)
这是一个不寻常的操作,因为您的输入是数字,而您的输出是一个用逗号分隔的字符串序列。一种解决方案是将itertools.accumulate
与f字符串一起使用(Python 3.6; PEP498):
import pandas as pd
from itertools import accumulate
df = pd.DataFrame({'Users': [101, 102, 103, 104]})
def joiner(x, y):
return f'{x},{y}'
df['Cumulative'] = list(accumulate(df['Users'].astype(str), func=joiner))
print(df)
Users Cumulative
0 101 101
1 102 101,102
2 103 101,102,103
3 104 101,102,103,104
答案 1 :(得分:0)
我不理解您的代码。 如果要串联所有用户ID,则应遍历ID列并手动串联所有ID。以下代码应该这样做
id_column=df['ID']
all_ids=''
for id in id_column:
all_ids+=str(id)+','
所有ID都应包含在变量all_id中。