组合两个数据帧时保留索引

问题 当我合并两个数据框时,我丢失了行名。我想避免这种情况。请注意,数据框中的某些行具有不同的名称。


我尝试了 Pandas 的不同版本的“合并”,但没有成功。


代码示例:


df1 = pd.DataFrame()

series1 = pd.Series([1,2])

series1 .rename(index={0:'zero',1:'one'}, inplace=True)

df1['someValue'] = series1

df1['time'] = "day1"

df1


      someValue  time

zero          1  day1

one           2  day1


df2 = pd.DataFrame()

series2 = pd.Series([3,4,5])

series2 .rename(index={0:'zero',1:'one', 2:'two'}, inplace=True)

df2['someValue'] = series2

df2['time'] = "day2"

df2


      someValue  time

zero          3  day2

one           4  day2

two           5  day2


df1.merge(df2,  how='outer')

   someValue  time

0          1  day1

1          2  day1

2          3  day2

3          4  day2

4          5  day2

我想


   someValue  time

zero       1  day1

one        2  day1

zero       3  day2

one        4  day2

two        5  day2

另请注意,当第一个 df 中的行不在第二个 df 中时,我希望此功能起作用,反之亦然。


湖上湖
浏览 160回答 1
1回答

郎朗坤

解决方案是使用concat:pd.concat([df1, df2])      someValue  timezero          1  day1one           2  day1zero          3  day2one           4  day2two           5  day2
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python