python-3.x - 如何使用matplotlib绘制excel大数据集而不是从第一个索引开始
问题描述
我想用 Timestamp 和另一列绘制 excel 数据。x=时间 y='找到'
Excel 看起来像这样:
读入.xlsx:
Index Timestamp Find
0
1 *useless information*
2 Timestamp *useless information'
3 2012-07-16 12:00:00 2,31
4 2012-07-16 12:05:00 2,33
5 2012-07-16 12:10:00 2,22
...
1447 2012-07-21 12:00:00 2,44
我试过以下代码:
import pandas as pd
import matplotlib.pyplot as plt
datei= pd.read_excel('Read_in.xlsx', sheet_name= 'Data')
daten=datei.filter(regex='Find')
Time=datei['Timestamp']
Time=Time.dropna(axis=0)
Time=Time.to_string()
x=Time
y= daten
plt.plot(x,y)
ValueError: x 和 y 必须具有相同的第一维,但具有形状 (1,) 和 (1448, 2)
解决方案
您可以使用to_datetime
witherrors='coerce'
替换 nopn datetimelike 值到NaT
,然后to_numeric
替换,
为.
:
datei['Timestamp'] = pd.to_datetime(datei['Timestamp'], errors='coerce')
datei['Find'] = pd.to_numeric(datei['Find'].str.replace(',','.'), errors='coerce')
#if format of numbesr is 2.31
#datei['Find'] = pd.to_numeric(datei['Find'], errors='coerce')
datei = datei.dropna()
print (datei)
Timestamp Find
3 2012-07-16 12:00:00 2.31
4 2012-07-16 12:05:00 2.33
5 2012-07-16 12:10:00 2.22
datei.plot(x='Timestamp', y='Find')
或者:
x=datei['Timestamp']
y= datei['Find']
plt.plot(x,y)
推荐阅读
- dart - 在手势检测器中有多个 SetStates()?
- docker - Docker compose - 成功重启后外部链接失败
- angular - 如何从 Angular 7 同步调用 .Net Core 2.0 API
- javascript - 重定向到反应路由器4中的登录页面
- visual-studio - 为 CMake MSVC 目标设置 /PROFILE 链接器标志
- watson-conversation - 重复一个意图会导致槽验证考虑以前的值
- android-studio - Android Play 商店本地化问题
- android - 将 OneLogin OIDC 与 react 原生移动应用集成
- python-3.x - 比较 Snowflake 数据库中表的数据,并使用 Python pandas 数据框导出 CSV
- seaborn - Seaborn:哪种类型的内核密度估计