我最近开始和熊猫一起工作.任何人都可以用Series和DataFrame来解释函数.corrwith()的行为差异吗?

假设我有一个DataFrame:

frame = pd.DataFrame(data={'a':[1,2,3], 'b':[-1,-2,-3], 'c':[10, -10, 10]})

我想要计算特征’a’和所有其他特征之间的相关性.

我可以通过以下方式完成:

frame.drop(labels='a', axis=1).corrwith(frame['a'])

结果将是:

b -1.0

c 0.0

但非常相似的代码:

frame.drop(labels='a', axis=1).corrwith(frame[['a']])

生成绝对不同且不可接受的表格:

a NaN

b NaN

c NaN

所以,我的问题是:为什么在DataFrame作为第二个参数的情况下,我们得到如此奇怪的输出?

解决方法:

我认为你在寻找什么:

假设您的框架是:

frame = pd.DataFrame(np.random.rand(10, 6), columns=['cost', 'amount', 'day', 'month', 'is_sale', 'hour'])

您希望“费用”和“金额”列与每个组合中的所有其他列相关联.

focus_cols = ['cost', 'amount']

frame.corr().filter(focus_cols).drop(focus_cols)

回答你的问题:

Compute pairwise

correlation between rows or columns of two DataFrame objects.

Parameters:

other : DataFrame

axis : {0 or ‘index’, 1 or ‘columns’},

default 0 0 or ‘index’ to compute column-wise, 1 or ‘columns’ for row-wise drop : boolean, default False Drop missing indices from

result, default returns union of all Returns: correls : Series

corrwith的行为类似于add,sub,mul,div,因为它希望找到一个DataFrame或一个正在传递的系列,尽管文档只说DataFrame.

当其他是系列时,它播放该系列并沿轴指定的轴匹配,默认为0.这就是以下工作的原因:

frame.drop(labels='a', axis=1).corrwith(frame.a)

b -1.0

c 0.0

dtype: float64

当other是DataFrame时,它将匹配轴指定的轴并关联由另一个轴标识的每个对.如果我们这样做:

frame.drop('a', axis=1).corrwith(frame.drop('b', axis=1))

a NaN

b NaN

c 1.0

dtype: float64

只有c是共同的,只有c计算了它的相关性.

在您指定的情况下:

frame.drop(labels='a', axis=1).corrwith(frame[['a']])

frame [[‘a’]]是一个DataFrame,因为[[‘a’]]并且现在由DataFrame规则播放,其中的列必须与其相关的列匹配.但是你明确地从第一帧中删除了一个然后与一个只有一个的数据帧相关联.结果是每列的NaN.

标签:python,pandas,dataframe

来源: https://codeday.me/bug/20191008/1870198.html

python corrwith_python – pandas.DataFrame corrwith()方法相关推荐

  1. Python小练习2:pandas.Dataframe使用方法示例demo

    pandas.Dataframe使用方法示例demo 本文通过一个实例来介绍pandas.Dataframe的各种常用操作,问题总结并修改自coursera上南京大学的课程:用Python玩转数据. ...

  2. python导入pandas具体步骤方法_python导入pandas具体步骤方法

    Pandas最初被作为金融数据分析工具而开发出来,因此,pandas为时间序列分析提供了很好的支持. Pandas的名称来自于面板数据(panel data)和python数据分析(data anal ...

  3. 怎么把竖列中的数相加python_关于python中pandas.DataFrame对行与列求和及添加新行与列示例代码...

    pandas是python环境下最有名的数据统计包,而DataFrame翻译为数据框,是一种数据组织方式,这篇文章主要给大家介绍了关于python中pandas.DataFrame对行与列求和及添加新 ...

  4. python将pandas dataframe内容写入ElasticSearch实战

    python将pandas dataframe内容写入ElasticSearch实战 目录 python将pandas dataframe内容写入ElasticSearch实战 索引设置 数据写入 数 ...

  5. [转载] 使用Python在Pandas Dataframe中建立索引

    参考链接: 用Pandas建立索引并选择数据 In Numpy arrays, we are familiar with the concepts of indexing, slicing, and ...

  6. pandas.DataFrame.apply方法详解

    1.方法的参数解释 官方解释:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.apply.htm ...

  7. dataframe python,使用pandas dataframe python创建实时更新图

    我正试图通过从pandas数据框中提取结果来创建一个实时更新图,该数据框存储从本地服务器中获取的动态数据值. 使用pandas dataframe,需要时间并将其存储在一列中,然后将其使用情况存储在另 ...

  8. python records_Python Pandas DataFrame.to_records用法及代码示例

    Pandas DataFrame是带有标签轴(行和列)的二维大小可变的,可能是异构的表格数据结构.算术运算在行和列标签上对齐.可以将其视为Series对象的dict-like容器.这是 Pandas ...

  9. python的dataframe的groupby_python pandas.DataFrame.groupby()方法详解

    文章目录 DataFrame.groupby()概览应用举例 概览内容参考自官方文档详情应用参考文档 DataFrame.groupby()概览 DataFrame.groupby(self, by= ...

最新文章

  1. 【经验】对一个合格C++高级工程师(音视频方向)的要求
  2. 如何用c语言打出 * * * * * * * * * * * * *?
  3. 递推DP HDOJ 5459 Jesus Is Here
  4. ios动态效果实现翻页_动画:UIKitAnimation 简单动画学习 iOS (一) 渐变 、 移动 、翻页、来回翻转 | 学步园...
  5. 裸服务器证书,使用SSH证书远程登陆你的服务器
  6. Scrapy 框架入门
  7. TCP协议通讯流程(三次握手及四次挥手)
  8. React Native通信机制详解
  9. Oh-My-Zsh 中安装 NVM
  10. 线扫相机 编码器_面阵和线扫工业相机选型
  11. 【转】oracle回闪操作
  12. Android中Menu的基本用法
  13. 实现数据库连接池druid的工具类
  14. Python爬虫爬取电影网站种子,让你以后再也不寂寞
  15. python移植到stm32f205_Micropython学习(二)STM32移植
  16. 2021-3-18全国个人所得税 完税证明开具 最新 其它经验都过时了,我北京网上打印
  17. python短时傅里叶变换_短时傅里叶变换(Short Time Fourier Transform)原理及 Python 实现...
  18. ubuntu2004使用Renesas upd720202 扩展卡
  19. android内存脚本教程,安卓内存
  20. 最新后盾网Smarty框架教程 Smarty重入门到实战教程 共14课

热门文章

  1. 用神经网络分类3*3矩阵
  2. MATLAB加入螺旋相位板调制,连续型螺旋相位板设计方法与流程
  3. java示例_Java入门示例
  4. P9 线性系统状态空间分析-《Matlab/Simulink与控制系统仿真》程序指令总结
  5. 0.0 目录-深度学习第一课《神经网络与深度学习》-Stanford吴恩达教授
  6. Floats and marginpars not allowed inside `multicols' Unknown float option `H'. 基于LaTex+VSCode+MAC
  7. make: *** [out/target/common/obj/APPS/Phone_intermediates/classes-full-debug.jar] 错误 41
  8. 【arduino】DIY音乐播放器,arduino播放wav音乐,TRMpcm库测试及使用
  9. xilinx vivado 2019 驱动问题,Connecting to hw_server url TCP:localhost:3121,jtag连接不上
  10. .NET 进程和线程