Отображение в кадры данных на основе одного столбца - PullRequest
0 голосов
/ 08 января 2019

У меня есть фрейм данных (df1) из 5 столбцов (a, b, c, d, e) с 6 строками и другой фрейм данных (df2) с 2 столбцами (a, z) с 20000 строками.

Как мне отобразить и объединить эти кадры данных, используя ('a') значение. Таким образом, df1 с 5 столбцами должен отображать значения в df2, имеющем 2 столбца со значением «a», и возвращать новый df, который имеет 6 столбцов (5 из df1 и 1 отображенную строку в df2) с 6 строками.

1 Ответ

0 голосов
/ 08 января 2019

Используя pd.concat :

import pandas as pd
import numpy as np

columns_df1 = ['a','b','c','d']
columns_df2 = ['a','z']
data_df1 = [['abc','def','ghi','xyz'],['abc2','def2','ghi2','xyz2'],['abc3','def3','ghi3','xyz3'],['abc4','def4','ghi4','xyz4']]
data_df2 = [['a','z'],['a2','z2']]

df_1 = pd.DataFrame(data_df1, columns=columns_df1)
df_2 = pd.DataFrame(data_df2, columns=columns_df2)
print(df_1)
print(df_2)

frames = [df_1, df_2]

print (pd.concat(frames))

ВЫВОД: out

Edit:

Для замены NaN значений вы можете использовать pandas.DataFrame.fillna :

print (pd.concat(frames).fillna("NULL"))

Replcae NULL с чем угодно, например. 0

ВЫВОД:

out-2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...