我对熊猫很新,并且正在努力解决愚蠢的分散情节。
我希望将日期作为列和时间绘制,我该怎么做?
data = [('04/22', 9), ('04/22', 5), ('04/22', 7), ('04/22', 20), ('04/21', 14), ('04/21', 9), ('04/21', 7), ('04/21', 12), ('04/21', 9), ('04/21', 5)]
df = pandas.DataFrame(data,columns=['Date', 'Time'])
print(df)
df.groupby('Date')
df.plot(x='Date', y='Time')
我的输出:
{{3}}
答案 0 :(得分:1)
你必须决定如何处理字符串(我的意思是将'04 / 22','04/21',......放在x轴上基于什么?)。我将向您展示一个简单的例子和更复杂的例子。
import pandas as pd
import matplotlib.pyplot as plt
data = [('04/22', 9), ('04/22', 5), ('04/22', 7), ('04/22', 20), ('04/21', 14), ('04/21', 9), ('04/21', 7), ('04/21', 12), ('04/21', 9), ('04/21', 5)]
df = pd.DataFrame(data, columns=['Date', 'Time'])
# I decided just using integer of index.
df = df.groupby('Date').sum().reset_index().reset_index()
df.plot.scatter(x='index', y='Time')
y_lab = [str(e) for e in df['Date']]
plt.xticks(df.index, y_lab, rotation=0, size=6)
plt.xlabel('Date')
plt.show()
如果您想使用日期时间索引,请检查我的another answer。我想也许这对你最终会有用。