首页 > 解决方案 > 如何根据我的索引长度初始化或更改数据框?

问题描述

我有一个看起来像的索引:

MyIndex
11
12
13

和一个可能比我的索引长的数据框:(在某些情况下它们可能相等)

OldIndex c1
0        00
1        01
2        02
3        03
4        04

我想将数据框放入索引中(通过在尾部删除额外的行)。

MyIndex c1
11      00
12      01
13      02

有没有简单的解决方案?如果我能在不创建新数据框的情况下实现这一点会更好。

标签: pythonpandas

解决方案


简单的方法就是这样......

假设你有:

df1 = pd.DataFrame(index=[0,1,2])
df2 = pd.DataFrame({'c1':[1,2,3,4,5]},index=[0,1,2,3,4])
df1['c1'] = df2['c1'].values[:len(df1.index)]

输出:

>>> df1
   c1
0   1
1   2
2   3

无需创建新的df ...

说 ind =pd.Index([0,1,2])

df2, df2.index = df2.iloc[:len(ind)], ind

输出:

>>> df2
   c1
0   1
1   2
2   3

推荐阅读