我在从csv文件导入一些数据时遇到困难.

Input from csv file (extract):

  Speed;A
  [rpm];[N.m]
  700;-72,556
  800;-58,9103
  900;-73,1678
  1000;-78,2272

Code:

import pandas as pd
inT = "test.csv"
df = pd.read_csv(inT, sep = ";", decimal = ',')
print(df)
df = df.loc[1:]
df=df.astype(float)
ax = df.plot(x='Speed')

Error:

could not convert string to float: '-72,556'

Desired Output:

   Speed         A
0  700.0   -72.556
1  800.0  -58.9103
2  900.0  -73.1678
3  1000.0  -78.2272

推荐答案

使用skiprows=[1]/read_csv跳过第1行,到浮点的转换应该是自动的:

df = pd.read_csv('test.csv', sep = ';', decimal = ',', skiprows=[1])

输出:

print(df)
     Speed        A
0      700 -72.5560
1      800 -58.9103
2      900 -73.1678
3     1000 -78.2272

print(df.dtypes)
  Speed      int64
A          float64
dtype: object

Why your code did not work

当读取"[rpm];[N.m]"行时,csv解析器确定列是字符串,而不是浮点数.因此,只需忽略十进制说明符,-72,556个值保留为字符串,带有逗号.

Python相关问答推荐

需要计算60,000个坐标之间的距离

运行Python脚本时,用作命令行参数的SON文本

在Python Attrs包中,如何在field_Transformer函数中添加字段?

优化pytorch函数以消除for循环

如何在solve()之后获得症状上的等式的值

将tdqm与cx.Oracle查询集成

Python导入某些库时非法指令(核心转储)(beautifulsoup4."" yfinance)

索引到 torch 张量,沿轴具有可变长度索引

matplotlib + python foor loop

将标签移动到matplotlib饼图中楔形块的开始处

ruamel.yaml dump:如何阻止map标量值被移动到一个新的缩进行?

如何在Python Pandas中填充外部连接后的列中填充DDL值

不允许 Select 北极滚动?

根据客户端是否正在传输响应来更改基于Flask的API的行为

在电影中向西北方向对齐""

使用SeleniumBase保存和加载Cookie时出现问题

获取git修订版中每个文件的最后修改时间的最有效方法是什么?

对包含JSON列的DataFrame进行分组

将Pandas DataFrame中的列名的长文本打断/换行为_STRING输出?

如何批量训练样本大小为奇数的神经网络?