экспорт в CSV на основе значений столбцов в пандах - PullRequest
0 голосов
/ 26 июня 2018

У меня есть df, как это

user = pd.DataFrame({'User':['101','101','101','102','102','101','101','102','102','102'],'Country':['India','Japan','India','Brazil','Japan','UK','Austria','Japan','Singapore','UK'],'Count':[50,1,2,5,6,89,10.9,10,5,6]})

и экспорт данных каждого пользователя в отдельный CSV-файл, подобный этому

user_101 = user[user['User'] == '101']
user_102 = user[user['User'] == '102']

user_101.to_csv('user_101.csv',sep=',')
user_102.to_csv('user_102.csv',sep=',')

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

Ответы [ 3 ]

0 голосов
/ 26 июня 2018

Вы можете просто зациклить значения unique и поместить подмножества df в файлы csv.

[user.loc[user.User==x].to_csv('user_'+x+'.csv',sep=',') for x in user.User.unique()]
0 голосов
/ 26 июня 2018

Использование цикла for с groupby и f-строками (Python 3.6 +):

for user_id, group in user.groupby('User'):
    group.to_csv(f'user_{user_id}.csv', sep=',')
0 голосов
/ 26 июня 2018

Вы можете зациклить уникальные значения User:

import pandas as pd

user = pd.DataFrame({'User':['101','101','101','102','102','101','101','102','102','102'],'Country':['India','Japan','India','Brazil','Japan','UK','Austria','Japan','Singapore','UK'],'Count':[50,1,2,5,6,89,10.9,10,5,6]})

for u in user['User'].unique():
    file_name = 'user_{0}.csv'.format(u) 
    user[user['User'] == u].to_csv(file_name, sep=',') 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...