在Pandas数据框中执行计算时出现问题...这是一个示例CSV(参见图片):
我的问题是,由于它以斜体读取行,例如数据类型(第2行),它将所有值都视为字符串,而不是其正确的数据类型(即浮点数,度数等)。有没有一种方法可以让我在读取CSV时忽略此行,例如
df = pd.read_CSV(“示例CSV”,忽略第2行)
这样,它将像这样读取(请参见其他图片)并假定正确的数据类型:
答案 0 :(得分:2)
您可以将列表传递到skiprows
以仅跳过该行。来自docs:
skiprows:类似列表或整数或可调用,默认为无
文件开头要跳过的行号(0索引)或要跳过的行号(int)。
尝试:
pd.read_csv('my.csv', skiprows=[1])
请注意python从0开始计数。因此该列(在python中)为1
答案 1 :(得分:1)
您可以使用skiprows=[0]
,有关更多详细信息,请参见documentation:
df = pd.read_csv('Your Filename', skiprows=[0])
答案 2 :(得分:0)
您应在header
中使用read_CSV
参数。例如:
df = pd.read_CSV('sample CSV', header=2)
这不会在第一行中分配名称。您可能可以通过手动传递列名称来实现:
df = pd.read_CSV('sample CSV', header=2, names=['UTC Time', 'Value1', 'Value2', 'Value3'])
您甚至可以通过编程获得名称:
with open('filename.csv', 'r') as fh:
names = fr.readline().split(',')
df = pd.read_CSV('sample CSV', header=2, names=names)
(所有代码都未经测试)