我有一个数据帧:
df = pd.DataFrame([[-1,2,2,3], [-1,3,4,5], [6,7,8,-1], [8,9,0,-1]])
0 1 2 3
0 -1 2 2 3
1 -1 3 4 5
2 6 7 8 -1
3 8 9 0 -1
此数据集未对齐-1表示垃圾值。我尝试对齐列以获得以下结果:
0 1 2 3
0 -1 2 2 3
1 -1 3 4 5
2 6 6 7 8
3 8 8 9 0
使用以下代码:
df.iloc[2:, 1:] = df.iloc[2:, :-1]
然后删除列0并完成,但是,这不起作用,而是生成:
0 1 2 3
0 -1.0 2.0 2.0 3.0
1 -1.0 3.0 4.0 5.0
2 6.0 7.0 8.0 NaN
3 8.0 9.0 0.0 NaN
我可以把它分成两个框架,换一个,然后把它们重新缝合在一起,但我觉得对齐这些柱子应该是可能的
对齐列的最快方法是什么
我不关心int到float的转换
预期的最终结果:
1 2 3
0 2 2 3
1 3 4 5
2 6 7 8
3 8 9 0
您可以使用以下选项:
输出:
当您将数据帧分配给数据帧的一个片段时,它将按列的名称匹配列,有点像字典。列0将编辑列0等。。。不管作业左侧部分的位置如何。 请注意,您的列名是0、1、2等
当您调用
.values
时,左边的数据帧变成了一个没有列名的数字数组,所以您想要做的是,有点像一个数组相关问题 更多 >
编程相关推荐