Python 如何连接2个panda dataframe并添加相应dataframe的表示列
假设我有两个数据帧Python 如何连接2个panda dataframe并添加相应dataframe的表示列,python,pandas,dataframe,Python,Pandas,Dataframe,假设我有两个数据帧 假新闻 真实新闻 它们都有类似的列,如标题、主题、文本、日期 现在我想将这两个数据帧添加到一个数据帧中,并添加一个额外的列 Validity如果是真实新闻,其值将为1,如果是假新闻,其值将为0,假设您有以下两个源数据帧: 雷亚尔(real_df): 伪造(df): 要将它们与“原始标签”连接起来,可以使用: df = pd.concat([real_df, fake_df], keys=[1, 0]) 结果(目前)是: 其中,原点标签位于多重索引的顶层 要将其转换为“
Validity
如果是真实新闻,其值将为1
,如果是假新闻,其值将为0
,假设您有以下两个源数据帧:
df = pd.concat([real_df, fake_df], keys=[1, 0])
结果(目前)是:
其中,原点标签位于多重索引的顶层
要将其转换为“常规”列并为其指定所需名称,请运行:
df = df.reset_index(level=0).reset_index(drop=True).rename(columns={'level_0': 'Validity'})
现在结果如您所愿,即:
Validity title subject text date
0 1 Real_title_1 Real_subject_1 Real_text_1 2020-03-01
1 1 Real_title_2 Real_subject_2 Real_text_2 2020-03-03
2 0 Fake_title_1 Fake_subject_1 Fake_text_1 2020-03-04
3 0 Fake_title_2 Fake_subject_2 Fake_text_2 2020-03-06
您可以发布数据帧的标题和预期的输出吗?谢谢,这很有效。您可以使用
pd.concat
的keys参数,但在加入它们之前分配'Validity'
列似乎最简单。您是对的!!
title subject text date
1 0 Real_title_1 Real_subject_1 Real_text_1 2020-03-01
1 Real_title_2 Real_subject_2 Real_text_2 2020-03-03
0 0 Fake_title_1 Fake_subject_1 Fake_text_1 2020-03-04
1 Fake_title_2 Fake_subject_2 Fake_text_2 2020-03-06
df = df.reset_index(level=0).reset_index(drop=True).rename(columns={'level_0': 'Validity'})
Validity title subject text date
0 1 Real_title_1 Real_subject_1 Real_text_1 2020-03-01
1 1 Real_title_2 Real_subject_2 Real_text_2 2020-03-03
2 0 Fake_title_1 Fake_subject_1 Fake_text_1 2020-03-04
3 0 Fake_title_2 Fake_subject_2 Fake_text_2 2020-03-06