从Dataframe(python / pandas)列中绘制多行?

时间:2016-07-04 15:15:11

标签: python pandas matplotlib dataframe astronomy

我有大量(~100万)数据集,看起来像这样......

Age    Wavelength    Luminosity

1      96            100
1      97            150
1      98            100
2      96.5          90
2      97            160
2      97.5          120
...

我目前在数据框中有它,并希望为所有年龄组绘制波长与亮度的关系。如何在一张图上获得每个年龄的情节?

1 个答案:

答案 0 :(得分:0)

您可以使用pandas.core.groupby.DataFrameGroupBy.plot

In[1]: import pandas as pd

In[2]: import numpy as np

In[3]: dataset = pd.DataFrame({"Age": np.random.random_integers(1, 5, 100), "Wavelength": np.random.uniform(90, 100, 100), "Luminosity": np.random.random_integers(5, 15, 100) * 10})

In[4]: dataset.groupby("Age").plot(x="Wavelength", y="Luminosity", kind="scatter")
Out[4]: 
Age
1    Axes(0.125,0.1;0.775x0.8)
2    Axes(0.125,0.1;0.775x0.8)
3    Axes(0.125,0.1;0.775x0.8)
4    Axes(0.125,0.1;0.775x0.8)
5    Axes(0.125,0.1;0.775x0.8)
dtype: object