python - 使用 Pandas 绘图时重命名空白第一列并正确获取 x 轴标签
问题描述
我正在尝试使用熊猫绘制温度与时间图。我从中导入的 CSV 文件是制表符分隔的。将 CSV 读入数据框后,(如下所示)其中的第一列是日期和时间。该列没有名称。我尝试重命名该列,但看起来不可能。
此外,当我绘制图表温度与时间的关系时,x 轴上没有提到任何内容,但有一些刻度。在这方面也需要帮助。
我的数据框看起来像这样,如您所见,第一列是日期时间,列名应该是时间,但它是空白的!
reactorPressure vacuumGauge MFC1 MFC2 ... rfFreq crucTemp vacPressure \r
...
2018-12-18 10:18:18 0.05 4.569000e-07 -0.4 0.0 ... 11.496 503.0 \r
2018-12-18 10:18:28 0.12 4.616000e-07 -0.4 0.0 ... 11.481 509.0 \r
2018-12-18 10:18:38 0.25 4.584000e-07 -0.4 0.0 ... 11.475 514.0 \r
2018-12-18 10:18:48 0.20 4.622000e-07 -0.4 0.0 ... 11.481 519.0 \r
2018-12-18 10:18:58 0.25 4.641000e-07 -0.4 0.0 ... 11.484 524.0 \r
[5 rows x 12 columns]
Index(['reactorPressure', ' vacuumGauge', ' MFC1', ' MFC2', ' MFC3',
' rfVoltage', ' rfCurrent', ' rfPower', ' rfFreq', ' crucTemp',
' vacPressure', ' \r'],
dtype='object')
为了解决重命名问题,我尝试了
df.rename(columns={'':'Time'}, inplace=True)
,但没有用,当我运行 #print(df.head() 命令时,我没有看到 Unnamed :0 。
我试过了
df.columns=['Time'] + df.columns.tolist()[1:]
print(df.columns)
,但这不是将名称添加到第 0 列,而是重命名第 1 列。
我尝试删除列,然后手动添加它们
df.read_csv('filename.csv',names=['Time', 'pressure',..])
也没有工作。它总是将第一列留空。我的代码如下!
import pandas as pd
from pandas import DataFrame
import matplotlib.pyplot as plt
import datetime
df = pd.read_csv('testfile3.csv',sep='\t',lineterminator='\n', index_col=0)
print(df.head())
df[' crucTemp'].plot()
plt.show()
感谢您的帮助!谢谢!我也可以在这里分享我的 csv 文件,但我不知道怎么做。如果您留下您的电子邮件地址,我可以通过电子邮件向您发送此文件,或者如果您告诉我如何上传,我可以上传文件!
[ https://i.stack.imgur.com/bpKgs.png][1]
图 crucTemp Vs(第一列日期和时间)的链接,在 x 轴上没有数字。老实说,我不关心没有第一列名称的数据框,但我需要用正确的数字打印 x 轴。
解决方案
那里一切都很好。第一个“无头”列是您的索引,通常只是一个计数器列,但您通过写入index_col=0
数据导入命令明确地将第一个数据列设置为索引pd.read_csv()
。
但是,这个索引的类型仍然是字符串,所以 pandas(或底层的 matplotlib)不知道这个索引的时间性质。
df.index = pd.to_datetime(df.index)
应该有帮助。
推荐阅读
- react-admin - 如何在 react-admin 中将 filterToQuery 添加到 SerachInput
- android - 从没有中间转换变量的片段中观察 ViewModel LiveData
- r - R中的圆形条形图有什么变化?
- c - 如何在父进程和子进程之间发送带有 pipe() 的矩阵?
- javascript - discord.js 新会员活动
- optimization - 多个背包问题,同一类型的物品不能放在同一个背包中
- sql - 将 DMP 文件导入到 oracle 19 c
- reactjs - 我们如何更改反应材料 ui 表中标题的字体粗细?
- python - 在 javascript var 和 jscript 标签 Python BS4 中获取 json
- intellij-idea - build.gradle 无法识别 Closure