Python объединяет столбцы csv - PullRequest
0 голосов
/ 19 декабря 2018

У меня есть огромный список 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']

Ответы [ 2 ]

0 голосов
/ 19 декабря 2018

Я не понимаю ваш код.Если вы хотите объединить все идентификаторы пользователей, вам следует перебрать столбец идентификаторов и вручную объединить все идентификаторы.Следующий код должен сделать это

id_column=df['ID']
all_ids=''
for id in id_column:
    all_ids+=str(id)+','

Все идентификаторы должны содержаться в переменной all_ids.

0 голосов
/ 19 декабря 2018

Это необычная операция, поскольку ваш ввод числовой, а вывод - последовательность строк, разделенных запятыми.Одним из решений является использование 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...