我有一个包含浮点类型金额的数据集。有些行包含值 0.00,因为它们扭曲了数据集,所以我需要删除它们。我已暂时将“金额”设置为索引并对值进行排序。 之后,我尝试在使用 iloc 进行子集化后删除行,但收到以下形式的错误消息 ValueError: 缓冲区的维数错误(预期为 1,得到 3)
'''mortgage = Mortgage.set_index('总贷款金额').sort_values('总贷款金额') Mortgage.drop([mortgage.loc[0.0]])'''
我同样尝试过这个: '''mortgage.drop(mortgage.loc[0.0])''' 它标记了表单的错误 KeyError: "[Column_names] not found in axis"
请问我还能怎样完成任务?
您可以创建一个布尔框架,然后使用任何
df = df[~(df == 0).any(axis=1)]
在此代码中,数据中至少有一个零的所有行都已被删除。这是应对挑战的简单方法。
让我看看是否解决了您的问题。我创建了这个示例数据集:
df = pd.DataFrame({'Values': [200.04,100.00,0.00,150.15,69.98,0.10,2.90,34.6,12.6,0.00,0.00]})
df
Values
0 200.04
1 100.00
2 0.00
3 150.15
4 69.98
5 0.10
6 2.90
7 34.60
8 12.60
9 0.00
10 0.00
现在,为了摆脱 0.00 值,您只需执行以下操作:
df = df[df['Values'] != 0.00]
输出:
df
Values
0 200.04
1 100.00
3 150.15
4 69.98
5 0.10
6 2.90
7 34.60
8 12.60