Как эффективно добавить несколько столбцов одного DF в один столбец другого DF - PullRequest
2 голосов
/ 26 сентября 2019

Я ищу эффективный способ получить несколько столбцов одного Dataframe в один столбец другого Dataframe.Мне удалось сделать это, получив имена столбцов исходного DF, взяв серии каждого столбца и добавив эти столбцы один за другим в пустой список.

column_names = []
column_names.append(df.columns.values.tolist())

for col in df[column_names[0]]:
        for element in series:
            H_list.append(element)

df_new =pd.DataFrame({"NewColumn": column_names})

Это кажется действительно неэффективным, и я держу париесть более питонский способ сделать это.

1 Ответ

1 голос
/ 26 сентября 2019

Вы можете использовать DataFrame.stack с DataFrame.Transpose :

Вот пример:

import pandas as pd
df=pd.DataFrame()
df['col1']=[1,2,3,4,5,6]
df['col2']=[7,8,9,10,11,12]
print(df)

   col1  col2
0     1     7
1     2     8
2     3     9
3     4     10
4     5     11
5     6     12

df2=pd.DataFrame()
df2['col1']=[11,12,13,14,15,16,11,12,13,14,15,16]
print(df2)


    col1
0     11
1     12
2     13
3     14
4     15
5     16
6     11
7     12
8     13
9     14
10    15
11    16

my_stack_df=df.T.stack().reset_index(drop=True)
df2['col2']=my_stack_df
print(df2)



    col1  col2
0     11     1
1     12     2
2     13     3
3     14     4
4     15     5
5     16     6
6     11     7
7     12     8
8     13     9
9     14     10
10    15     11
11    16     12
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...