pandas 列中没有['date']

dffbzjpn  于 2023-05-05  发布在  其他
关注(0)|答案(2)|浏览(141)

我正试着用numpy和plotly绘制一些图表。我从一个包含所有我需要的趋势的csv文件中获取数据。我想绘制和分析包含在列1-80沿着时间框架(“日期”)的值,这是我写的脚本做到这一点。

import matplotlib.pyplot as plt

import numpy as np

import pandas as pd

import seaborn as sns

import plotly.express as px

ztec = pd.read_csv(r'C:\Users\tashkpa\Desktop\Работа\ТЭЦ\Сырые данные ЗТЭЦ\данные для python.csv')

ztec=ztec.set_index('Date')

print(ztec)

fig=plt.figure()

ax=fig.add_subplot()

sns.set_style("ticks", {'grid.linestyle': '--'})

sns.lineplot(x=ztec['Date'], y=ztec['01'])

plt.grid(True, which="both", ls="--", c='gray')

plt.plot

我的数组示例如下所示:

'Date';'01';'02';'03';'04';'05';'06';'07';'08';'09';'10';'11';'12';'13';'14';'15';'16';'17';'18';'19';'20';'21';'22';'23';'24';'25';'26';'27';'28';'29';'30';'31';'32';'33';'34';'35';'36';'37';'38';'39';'40';'41';'42';'43';'44';'45';'46';'47';'48';'49';'50';'51';'52';'53';'54';'55';'56';'57';'58';'59';'60';'61';'62';'63';'64';'65';'66';'67';'68';'69';'70';'71';'72';'73';'74';'75';'76';'77';'78';'79';'80';;;;;;;;;;;;;
01/01/2021 02:00:00;0.791;7.019;199.265;183.586;506.253;5.641;41.729;212.521;0.528;0.115;32.356;35.264;0.788;208.541;0.356;0.348;0.087;3.887;3.483;8.784;31.930;13.237;24.296;13.552;23.546;36.840;36.978;218.913;35.373;0.860;0.147;0.319;115.694;0.785;7.064;201.466;183.316;509.751;5.721;42.600;210.235;0.563;12.276;60.000;135.939;0.784;206.678;0.347;0.334;0.066;3.959;4.138;4.821;8.027;13.494;18.367;13.702;18.536;30.446;31.199;243.470;1.908;0.901;2.082;0.216;106.911;3.681;-1.484;205.884;284.659;146.202;3.681;-9.315;56.252;54.483;40195.012;39724.953;102.121;128.471;102.573;;;;;;;;;;;;;

下面是Python触发的异常。

C:\Users\tashkpa\Anaconda3\python.exe C:/Users/tashkpa/PycharmProjects/pythonProject/zteccsv.py
Traceback (most recent call last):
  File "C:/Users/tashkpa/PycharmProjects/pythonProject/zteccsv.py", line 7, in <module>
    ztec=ztec.set_index('Date')
  File "C:\Users\tashkpa\AppData\Roaming\Python\Python38\site-packages\pandas\core\frame.py", line 4724, in set_index
    raise KeyError(f"None of {missing} are in the columns")
KeyError: "None of ['Date'] are in the columns"

如何绕过此错误?

bvhaajcl

bvhaajcl1#

  • 默认情况下,pd.read_csv使用sep=','的默认值
  • 在这种情况下,使用pd.read_csv时使用sep=';',因为值分隔符是;
  • 由于已使用ztec=ztec.set_index('Date')Date列设置为索引,因此在绘制sns.lineplot(x=ztec.index, y=ztec['01'])时必须将ztec.index用作x
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import seaborn as sns
import plotly.express as px
    
ztec = pd.read_csv(r'C:\Users\tashkpa\Desktop\Работа\ТЭЦ\Сырые данные ЗТЭЦ\данные для python.csv', sep=';')
ztec=ztec.set_index('Date')
print(ztec)
    
fig=plt.figure()
ax=fig.add_subplot()
sns.set_style("ticks", {'grid.linestyle': '--'})
sns.lineplot(x=ztec.index, y=ztec['01'])
plt.grid(True, which="both", ls="--", c='gray')
plt.plot()
fsi0uk1n

fsi0uk1n2#

我也收到了这个错误,但对我来说,我试图设置索引为'日期',它已经。
所以,一旦索引被设置为字段例如:'Date',相同的代码将显示类似的错误。

相关问题