【发布时间】:2019-02-07 14:00:20
【问题描述】:
我有一个大型 csv 文件,我将其导入到 pandas。第一行是列的标题(即使它是值)。我的目标是将 -999.999 的所有值替换为 0。
我已经尝试使用 df.colums = df.iloc[0] 将我的第一行作为标题,但没有成功。要替换我尝试使用 df.replace 的值,但它似乎找不到 -999.99 值。
import pandas as pd
df = pd.read_csv('Test.csv') # importer le dossier CSV
df.columns = df.iloc[0]
df.replace(-999.999, 0, inplace=True)
df.to_csv('test2.csv')
CSV 文件如下所示,其中第一列 (0-1-2...) 是自动创建的,而不是原始数据的一部分。
-120;-119.7;-119.4;-119.1;-118.8;-118.5;-118.2;-117.9
0 -999.999;-999.999;-999.999;20.1;1.2;89.5;-999....
1 -999.999;-999.999;4.6;25.6;8.9;-999.999;-999.9...
2 -999.999;-999.999;8.66;12.6;7.6;-999.999;13.98...
3 -999.999;-999.999;9.12;6.98;0.6;45.3;12.4;-999...
4 -999.999;-999.999;13.36;4.56;3.9;2.36;-999.999...
5 -999.999;-999.999;-999.999;21;45.2;-999.999;-9...
【问题讨论】:
-
您的数据是否可以作为字符串而不是浮点数加载?在 pd.read_csv 之后,在这个问题中显示
df.info()。 -
df.info() 给出:
RangeIndex:6 个条目,0 到 5 个数据列(共 1 列):-120;-119.7 ;-119.4;-119.1;-118.8;-118.5;-118.2;-117.9 6 个非空对象 dtypes:object(1) 内存使用量:128.0+ 字节 -
> CSV 文件如下所示,其中第一列 (0-1-2...) 是自动创建的...如果您愿意,这就是所谓的索引 (
pd.Index)一些研究
标签: python-3.x pandas dataframe indexing