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

2024-04-25 17:43:37 发布

您现在位置:Python中文网/ 问答频道 /正文

问题 当我合并两个数据帧时,我丢失了行名。我想避免这样。请注意,dataframes中的某些行具有不同的名称。你知道吗

我尝试过不同版本的“合并”从熊猫没有成功。你知道吗

代码示例:

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中时,我希望这样做可以起作用,反之亦然。你知道吗


Tags: dataframetimeoneseriespddf1df2rename
1条回答
网友
1楼 · 发布于 2024-04-25 17:43:37

解决方法是使用concat

pd.concat([df1, df2])

      someValue  time
zero          1  day1
one           2  day1
zero          3  day2
one           4  day2
two           5  day2

相关问题 更多 >