我刚开始用python绘制图表。我被告知要使用Pandas,使用下面的命令。现在假设csv
文件有头(time
,speed
等)。但是当csv
文件没有头时,我如何将其更改为?(数据从第0行开始)
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
df = pd.read_csv("P1541350772737.csv")
#df.head(5)
df.plot(figsize=(15,5), kind='line',x='timestamp', y='speed') # scatter plot
6条答案
按热度按时间qhhrdooz1#
你可以通过列的索引来指定x和y,你不需要列的名字:
很简单:
df.plot(figsize=(15,5), kind='line',x=0, y=1)
如果
x
列是第一列,y
列是第二列,以此类推,则此方法有效,列从0
开始计数例如:
使用列名而不是位置,结果相同:
svujldwt2#
我可能误解了你的问题,但我会尽力的。
这个问题似乎是你必须读取一个没有头文件的csv文件,但是你想添加它们。我会使用下面的代码:
对于你的绘图,你使用的代码应该可以接受我的修正。我还建议你看看 matplotlib 来做你的图形。
d8tt03nd3#
你可以试试
使用
names
-kwarg可以设置任意的列标题,这意味着headers=None
是静默的,即从第0行读取数据。您可能还需要检查文档https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html
fwzugrvs4#
Pandas更专注于数据结构和数据分析工具,它实际上支持使用Matplotlib作为后端的绘图。如果你对用Python构建不同类型的绘图感兴趣,你可能想看看它。
回到Pandas,Pandas假设csv的第一行是头文件,但是,如果你的文件没有头文件,你可以传递
header=None
作为参数pd.read_csv("P1541350772737.csv", header=None)
,然后像现在这样绘制它。您可以传递给Pandas阅读csv的完整命令列表可以在Pandas read_csv documentation中找到,您将在那里找到许多有用的命令(例如跳过行、定义索引列等)。
快乐编码!
i7uq4tfw5#
对于大多数命令,您可以在相应的文档中找到帮助。查看pandas.read_csv,您会发现一个参数
names
names
:类似于阵列,默认为无要使用的列名列表。如果文件不包含标题行,则应显式传递header = None。
因此,您将需要提供列名称,它们将按照该名称出现在 Dataframe 中。
例如:假设您有此数据文件
那你就可以
其输出
i5desfxk6#
左上角有一个-B标签。我不想看到它。有办法隐藏这个标签吗?