set_index和
reset_index是你的朋友。
df = Dataframe({"A":[0,0.5,1.0,3.5,4.0,4.5], "B":[1,4,6,2,4,3], "C":[3,2,1,0,5,3]})
首先将A列移至索引:
In [64]: df.set_index("A")Out[64]: B C A 0.0 1 30.5 4 21.0 6 13.5 2 04.0 4 54.5 3 3
然后使用新索引重新索引,此处使用nans填充缺少的数据。我们使用
Index对象是因为我们可以命名它。这将在下一步中使用。
In [66]: new_index = Index(arange(0,5,0.5), name="A")In [67]: df.set_index("A").reindex(new_index)Out[67]: B C0.0 1 30.5 4 21.0 6 11.5 NaN NaN2.0 NaN NaN2.5 NaN NaN3.0 NaN NaN3.5 2 04.0 4 54.5 3 3
最后使用将索引移回列
reset_index。自从我们命名索引以来,所有这些都神奇地起作用:
In [69]: df.set_index("A").reindex(new_index).reset_index()Out[69]: A B C0 0.0 1 31 0.5 4 22 1.0 6 13 1.5 NaN NaN4 2.0 NaN NaN5 2.5 NaN NaN6 3.0 NaN NaN7 3.5 2 08 4.0 4 59 4.5 3 3
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)