Как взять значение общего столбца в одном кадре данных из другого? - PullRequest
0 голосов
/ 23 мая 2018

У меня есть пустой фрейм данных с некоторыми столбцами,

df_skeleton = pd.DataFrame(columns=columns)

И у меня есть другой фрейм данных df, который является подмножеством вышеупомянутого фрейма данных, но в этом фрейме данных у меня есть одна строка со значениями.

Я хочу поместить соответствующее значение второго информационного кадра в

df_skeleton 

, а все остальные значения столбцов равны нулю

Например:

df_skeleton имеет10 столбцов, имя от col1, col2 ..... col10,

   col1   col2 col3 col4 col5 col5 co6 col7 col8 col9 col10
0

, но не содержит ни строки, ни значений.Это просто скелет

Ответы [ 2 ]

0 голосов
/ 23 мая 2018

Использование pandas.DataFrame.combine_first

df_skeleton.combine_first(df).fillna(0, downcast='infer')

   co6  col1  col10  col2  col3  col4  col5  col5  col7  col8  col9
0    0    23      0     0    45     0     0     0    10     0     0
0 голосов
/ 23 мая 2018

Используйте reindex с параметром fill_value:

columns = ['col1','col2','col3','col4','col5','col5','co6','col7','col8','col9','col10']
df_skeleton = pd.DataFrame(columns=columns)

df = df.reindex(columns=df_skeleton.columns, fill_value=0)
print (df)
   col1  col2  col3  col4  col5  col5  co6  col7  col8  col9  col10
0    23     0    45     0     0     0    0    10     0     0      0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...