我有一个DataFrame
,其中有两列我使用此命令result = pd.concat([Value, Date], axis=1)
import pandas as pd
>>> result
Value Date
189 9.0 11/14/15
191 10.0 11/14/15
192 1.0 11/14/15
193 4.0 11/14/15
... ... ...
2920 6.0 2/20/16
2921 8.0 2/20/16
2923 10.0 2/20/16
2925 2.0 2/20/16
但我需要的是每个Value
的所有Date
数据的多个数据帧。我知道我可以执行类似x = result.groupby('Date').mean()
的内容,它为每个Value
提供了Date
的平均值,但我希望实际数据位于用于生成平均值的数据框中。< / p>
是否有另一个参数或函数来简单地获取此数据框?
答案 0 :(得分:3)
根据您的评论,您可以直接使用seaborn绘制所有日期的distplot
,而无需使用FacetGrid
进行任何分组或循环。这是12天的一些假数据,然后是情节。
date = pd.date_range('1-1-2016', '1-13-2016', freq='h', closed='left').date
df = pd.DataFrame({'num' : np.random.rand(len(date)), 'date':date})
g = sns.FacetGrid(df, col='date', col_wrap=4)
g.map(sns.distplot, "num", hist=False, rug=True)
g = sns.FacetGrid(result, col='Date', col_wrap=4)
g.map(sns.distplot, 'Value', hist=False, rug=True)
答案 1 :(得分:1)
你需要一个放置每个DataFrame
的地方。我们假设你把它放在字典d
d = {day: group for day, group in result.groupby('Date')}