Как объединить файлы Parquet в один большой ключ? - PullRequest
0 голосов
/ 04 марта 2020

Итак, у меня 50 паркетных файлов. Один столбец в каждом называется игроком. Я хочу объединить все 50 файлов в один мастер-файл, и если этот проигрыватель уже объединен в мастер-набор, то не создавайте новую запись, а просто обновите все отсутствующие столбцы для этого проигрывателя в новом мастер-наборе.

Возможно ли это и какую программу рекомендуется сделать для этого? Я использовал преобразование паркет -> pandas обратно в pandas, но это кажется неэффективным.

1 Ответ

0 голосов
/ 05 марта 2020

из этой темы вы теперь узнаете, как добавить / прочитать эти 50 файлов: Импортировать несколько CSV-файлов в pandas и объединить их в один DataFrame

на следующих шагах, которые я использую fillna() если у вас нет пробелов вместо nans, прочитайте: Замена пустых значений (пробелов) на NaN в pandas


df = pd.DataFrame({'player':['a','b','c','d','e','f'],'score':[152,150,np.nan,160,160,170]})
print(df)
  player  score
0      a  152.0
1      b  150.0
2      c    NaN
3      d  160.0
4      e  160.0
5      f  170.0
df2 = pd.DataFrame({'player':['a','b','c','d','e','f','g'],'score':[152,150,22,160,160,170,333]})
print(df2)
  player  score
0      a    152
1      b    150
2      c     22
3      d    160
4      e    160
5      f    170
6      g    333
df = df.fillna(df2)
df=pd.concat([df,df2]).drop_duplicates()

RESULT:
print(df)
  player  score
0      a  152.0
1      b  150.0
2      c   22.0
3      d  160.0
4      e  160.0
5      f  170.0
6      g  333.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...