苦苦挣扎于简单的X,Y分散在熊猫中

时间:2017-04-22 05:00:23

标签: python python-3.x pandas matplotlib

我对熊猫很新,并且正在努力解决愚蠢的分散情节。

我希望将日期作为列和时间绘制,我该怎么做?

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}}

1 个答案:

答案 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()

enter image description here

如果您想使用日期时间索引,请检查我的another answer。我想也许这对你最终会有用。

enter image description here