我有一个很大的要连接的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']
发布于 2018-12-19 06:30:39
这是一个不寻常的操作,因为您的输入是数字,而您的输出是一系列逗号分隔的字符串。一种解决方案是使用带有f字符串的itertools.accumulate
(Python3.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
发布于 2018-12-19 08:20:21
我不懂你的代码。如果您想连接所有的用户id,您应该遍历ID列并手动连接所有的id。下面的代码应该这样做
id_column=df['ID']
all_ids=''
for id in id_column:
all_ids+=str(id)+','
所有的in都应该包含在变量all_ids中。
https://stackoverflow.com/questions/53841760
复制相似问题