在pandas中使用index来绘制数据

时间:2013-11-19 23:35:53

标签: python pandas

我有一个pandas-Dataframe并使用resample()来计算均值(例如每日或每月的均值)。 这是一个小例子。

import pandas as pd  
import numpy as np

dates = pd.date_range('1/1/2000', periods=100)
df = pd.DataFrame(np.random.randn(100, 1), index=dates, columns=['A'])

monthly_mean = df.resample('M', how='mean')

如何现在绘制monthly_mean? 如何设置使用我新创建的DataFrame monthly_mean的索引作为x轴? 提前谢谢。

5 个答案:

答案 0 :(得分:35)

您可以使用reset_index将索引转回列:

monthly_mean.reset_index().plot(x='index', y='A')

答案 1 :(得分:28)

试试这个,

monthly_mean.plot(y='A', use_index=True)

答案 2 :(得分:6)

monthly_mean.plot(y='A')

默认情况下将索引用作x轴。

答案 3 :(得分:3)

此外,

monthly_mean.plot(x=df.index, y='A')

答案 4 :(得分:1)

  • 根据指数绘制线图时,最简单的答案是不指定任何 xy
  • 这将为所有数字或日期时间列绘制线条,而不指定 y
monthly_mean.plot()

enter image description here

  • 仅当有多个列并且您想要绘制某些列时才指定 y=
  • 或在绘图前选择列(例如 monthly_mean[[c1, c2, c5]].plot()
# sample data with multiple columns (5 x 5)
df = pd.DataFrame(np.random.random_sample((5, 5)))

# method 1: specify y
df.plot(y=[0, 2, 4])

# method 2: select columns first
df[[0, 2, 4]].plot()

enter image description here