如果我的数据如下所示:
0 1 2 3
1 0 19 12
2 5 0 13
3 6 21 0
4 7 4 15
如何删除“0”
我不想删除整行/整列,只想删除值
我希望它看起来像这样:
0 1 2 3
1 5 19 12
2 6 21 13
3 7 4 15
我正在将数据帧从csv文件读入熊猫。 这是我在数据框中读取的内容
df = pd.read_csv('Plate0-s4_R1.csv')
df.fillna(0, inplace=True)
这就是我做最小计算的地方
df = df[df.columns].groupby(lambda x: x, axis=1).min()
df = df.groupby(df[0]).min()
df = df.reset_index()
我在internet上找到的其他解决方案包括删除整列/整行。我不想丢失这些列和行中的其他数据。我只是不想让0干扰我的最小值计算
请进一步澄清。这就是我的数据帧目前的位置
“0.0”告诉我们我需要摆脱什么
如果您只是想得到最小值,根据上面的注释,用np.nan替换所有的零 原始df(来自您上面的帖子):
最小计算的温度df:
然后,您可以获取所有列的最小值并保存到新系列:
可以使用等于零作为键对值进行排序。这将把零移到底部,同时保持其他值的顺序(稳定排序)
然后切片数据帧以删除最后N行,其中N是一列中最大的零数
输出:
相关问题 更多 >
编程相关推荐