Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 两个数据帧之间每日数据的月度相关性_Python_Pandas_Dataframe - Fatal编程技术网

Python 两个数据帧之间每日数据的月度相关性

Python 两个数据帧之间每日数据的月度相关性,python,pandas,dataframe,Python,Pandas,Dataframe,我有两个每日数据帧: import pandas as pd dates = pd.date_range('2016-01-01', '2018-01-01') ndays = len(dates) df1 = pd.DataFrame(np.random.rand(ndays, 3), columns=['a','b','c'], index=dates) df2 = pd.DataFrame(np.random.rand(ndays, 3), columns=['a','b','c'], i

我有两个每日数据帧:

import pandas as pd
dates = pd.date_range('2016-01-01', '2018-01-01')
ndays = len(dates)
df1 = pd.DataFrame(np.random.rand(ndays, 3), columns=['a','b','c'], index=dates)
df2 = pd.DataFrame(np.random.rand(ndays, 3), columns=['a','b','c'], index=dates)
我想将每个数据帧中的值的相关性放在不重叠的每月段中。返回值应该是按月份索引的数据帧,具有列['a'、'b'、'c'],其中每个值是该日历月份df1和df2中每日值的相关性


我可以在列和月之间循环计算,但这听起来不像熊猫会这样做。有没有一种方法可以基于日历月分割两个数据帧,在它们之间应用相关性,然后合并成一个数据帧?

这里有一个有点混乱的单行线:

pd.DataFrame.from_dict({col:pd.concat([df1[[col]],df2[[col]]],axis=1).groupby(pd.Grouper(freq='M')).apply(lambda x: x.corr().values[0,1]) for col in df1.columns})

基本上,我为每一列创建一个新的数据帧,每月计算相关矩阵,然后提取非对角(互相关)元素。可能有一种更漂亮的方法可以做到这一点,但这似乎很快就能奏效。

hi,您有没有办法在同一数据集中的两列中做到这一点?您的方式是可行的,但它是用值替换所有列,而不是创建新列