猿问

如何将数据框所有行的某些列附加到另一个数据框

我有 3 个数据框:


dataframe_1:

              A B C D

              1 E 2 F

              3 G 4 H




dataframe_2:

              A B C D

              5 I 6 J

              7 K 8 L


df_columns = ['username', 'reason']

dataframe_3 = pd.DataFrame(columns=df_columns)

我想将所有行添加到dataframe_1Butdataframe_2中dataframe_3 ,但映射如下:


dataframe_3.append(dataframe_1['A','reason 1'])

dataframe_3.append(dataframe_2['A','reason 2'])

最终得到:


  dataframe_3:

               username reason

               1        reason 1

               3        reason 1

               5        reason 2

               7        reason 2

               

因此,本质上使用列A并将其映射到username每个数据框并具有特定原因。


关于如何实现这一目标的任何想法?


慕娘9325324
浏览 119回答 2
2回答

POPMUISE

你的意思是:(pd.concat((df1[['A']].assign(reason='reason 1'),             df2[['A']].assign(reason='reason 2'))          )   .rename(columns={'A':'username'}))

繁星点点滴滴

这对我有用:import pandas as pddataframe_1 = pd.DataFrame(    {'A': [1, 3], 'B': ['E', 'G'], 'C': [2, 4], 'D': ['F', 'H']})dataframe_2 = pd.DataFrame(    {'A': [5, 7], 'B': ['I', 'K'], 'C': [6, 8], 'D': ['J', 'L']})df_columns = ['username', 'reason']dataframe_3 = pd.DataFrame(columns=df_columns)for count, number in enumerate(dataframe_1['A']):    dataframe_3.at[count, 'username'] = number    dataframe_3.at[count, 'reason'] = 'reason 1'for count, number in enumerate(dataframe_2['A'], count + 1):    dataframe_3.at[count, 'username'] = number    dataframe_3.at[count, 'reason'] = 'reason 2'print(dataframe_3)输出:  username    reason0        1  reason 11        3  reason 12        5  reason 23        7  reason 2
随时随地看视频慕课网APP

相关分类

Python
我要回答