使用 Pandas 编辑 CSV 文件中的数据
Editing data in CSV files using Pandas
我有一个包含以下数据的 CSV 文件:
Time Pressure
0 2.9852.988
10 2.9882.988
20 2.9902.990
30 2.9882.988
40 2.9852.985
50 2.9842.984
60 2.9852.985.....
出于某种原因,第二列由 2 个小数点分隔。我正在尝试使用 pandas 创建一个数据帧,但如果不删除第二个小数点就无法继续。我无法手动执行此操作,因为我的文件中有数千个数据点。有什么想法吗?
您可以调用向量化的 str
方法在小数点处拆分字符串,加入拆分的结果但丢弃最后一个元素,这会生成例如一个列表 [2,9852]
然后您将其加入带小数点:
In [28]:
df['Pressure'].str.split('.').str[:-1].str.join('.')
Out[28]:
0 2.9852
1 2.9882
2 2.9902
3 2.9882
4 2.9852
5 2.9842
6 2.9852
Name: Pressure, dtype: object
如果要将字符串转换为浮点数,请调用 astype
:
In [29]:
df['Pressure'].str.split('.').str[:-1].str.join('.').astype(np.float64)
Out[29]:
0 2.9852
1 2.9882
2 2.9902
3 2.9882
4 2.9852
5 2.9842
6 2.9852
Name: Pressure, dtype: float64
记得把转换赋值回原来的df:
df['Pressure'] = df['Pressure'].str.split('.').str[:-1].str.join('.').astype(np.float64)
我有一个包含以下数据的 CSV 文件:
Time Pressure
0 2.9852.988
10 2.9882.988
20 2.9902.990
30 2.9882.988
40 2.9852.985
50 2.9842.984
60 2.9852.985.....
出于某种原因,第二列由 2 个小数点分隔。我正在尝试使用 pandas 创建一个数据帧,但如果不删除第二个小数点就无法继续。我无法手动执行此操作,因为我的文件中有数千个数据点。有什么想法吗?
您可以调用向量化的 str
方法在小数点处拆分字符串,加入拆分的结果但丢弃最后一个元素,这会生成例如一个列表 [2,9852]
然后您将其加入带小数点:
In [28]:
df['Pressure'].str.split('.').str[:-1].str.join('.')
Out[28]:
0 2.9852
1 2.9882
2 2.9902
3 2.9882
4 2.9852
5 2.9842
6 2.9852
Name: Pressure, dtype: object
如果要将字符串转换为浮点数,请调用 astype
:
In [29]:
df['Pressure'].str.split('.').str[:-1].str.join('.').astype(np.float64)
Out[29]:
0 2.9852
1 2.9882
2 2.9902
3 2.9882
4 2.9852
5 2.9842
6 2.9852
Name: Pressure, dtype: float64
记得把转换赋值回原来的df:
df['Pressure'] = df['Pressure'].str.split('.').str[:-1].str.join('.').astype(np.float64)