我有一个数据框df:
ID Var1 Var2
1 1.2 4
1 2.1 6
1 3.0 7
2 1.3 8
2 2.1 9
2 3.2 13
我想找到的Pearson相关系数的值Var1
,并Var2
为每ID
因此结果应如下所示:
ID Corr_Coef
1 0.98198
2 0.97073
更新:
必须确保变量的所有列均为int
或float
df.groupby('ID').corr()
输出:
Var1 Var2
ID
1 Var1 1.000000 0.981981
Var2 0.981981 1.000000
2 Var1 1.000000 0.970725
Var2 0.970725 1.000000
具有OP输出格式。
df_out = df.groupby('ID').corr()
(df_out[~df_out['Var1'].eq(1)]
.reset_index(1, drop=True)['Var1']
.rename('Corr_Coef')
.reset_index())
输出:
ID Corr_Coef
0 1 0.981981
1 2 0.970725
问题内容: 我想为某个列(例如column)选择一个范围。我想选择-0.5到+0.5之间的所有值。如何做到这一点? 我希望使用 但这(自然)给出了ValueError: 我试过了 但这全部输出了。 正确的输出应该是 在pandas数据框列中查找值范围的正确方法是什么? 编辑:问题 使用与 将是之间的区别 和不平等之类的 ? 问题答案: 使用有严格的不平等: 该参数确定是否包括端点(:,:)。这适用
问题内容: 给定一个熊猫数据框,其中包含可能在此处和附近散布的NaN值: 问题: 如何确定哪些列包含NaN值?特别是,我可以获取包含NaN的列名称的列表吗? 问题答案: 更新: 使用熊猫0.22.0 较新的Pandas版本具有新的方法‘DataFrame.isna()’和‘DataFrame.notna()’ 作为列列表: 选择这些列(至少包含一个值): 旧答案: 尝试使用isnull(): 或作
问题内容: 我有以下熊猫数据框: 产生此结果: 我如何传播,以便最终得到这个: 问题答案: 使用或: 但是,如果重复,需要或集合体,或可以改变,…: ValueError:索引包含重复的条目,无法重塑 编辑: 对于设置为和的清洁:
问题内容: 我想在pandas数据框列中找到一个特定的模式,并返回相应的索引值以对数据框进行子集化。 这是带有可能模式的示例数据框: 生成数据框的代码段: 数据框: 下面,感兴趣的格局发生的日期来,这就是我想要结束了一下: 所需的输出: 如果同一模式多次出现,我希望以相同的方式对数据帧进行子集化,并计算该模式出现的次数,但是只要我将第一步弄清楚,我希望这会更直接。 感谢您的任何建议! 问题答案:
问题内容: 这是一个像这样的时间序列数据,称为df: 我想获取连续“值”为1的日期范围,因此如何获得最终结果,如下所示: 问题答案: 这应该做 每当Value更改时,value_grp将增加1。在下面,您可以提取分组结果
问题内容: 我的Pandas Dataframe框架看起来像这样 我希望数据位于9到10个小时之间……如果有人从事过此类工作,那将非常有帮助。 问题答案: In [7]: index = date_range(‘20131009 08:30’,‘20131010 10:05’,freq=‘5T’)