我对Python和Pandas还不熟悉,所以可能有一个简单的解决方案,我看不出来。
我有很多不连续的数据集,如下所示:
ind A B C
0 0.0 1 3
1 0.5 4 2
2 1.0 6 1
3 3.5 2 0
4 4.0 4 5
5 4.5 3 3
我现在寻找一个解决方案来获得以下结果:
ind A B C
0 0.0 1 3
1 0.5 4 2
2 1.0 6 1
3 1.5 NAN NAN
4 2.0 NAN NAN
5 2.5 NAN NAN
6 3.0 NAN NAN
7 3.5 2 0
8 4.0 4 5
9 4.5 3 3
问题是,一个数据集之间在位置和长度上的差距是不同的。。。
set_index
和reset_index
是你的朋友。首先将列A移到索引:
然后用一个新的索引重新索引,这里丢失的数据用nans填充。我们使用
Index
对象,因为我们可以命名它;这将在下一步中使用。最后将索引移回具有
reset_index
的列。既然我们命名了索引,它就神奇地工作了:使用上面EdChum的答案,我创建了以下函数
示例用法:
在这种情况下,我将用新生成的数据帧覆盖您的A列,并将其合并到您的原始df中,然后使用它:
因此,在一般情况下,您可以调整
arange
函数,该函数接受一个开始值和结束值,注意,当范围是开闭的时,我在结束处添加了0.5,并传递一个步长值。更一般的方法是这样的:
这里我们将索引设置为列
A
,但不要删除它,然后使用arange
函数重新索引df。相关问题 更多 >
编程相关推荐