pandas基础运算
来源:互联网 发布:接入网络方式 编辑:程序博客网 时间:2024/06/09 22:42
《Python for Data Analysis》
算术运算和数据对齐
pandas可以对不同索引的对象进行算术运算。
例如:当对象相加时,如果存在不同的索引对,其结果的索引就是该索引对的并集。自动的数据对齐操作在不重叠的索引处引入了NA值。并且会在算术运算中传播。
In [1]: import numpy as npIn [2]: import pandas as pdIn [3]: from pandas import Series, DataFrameIn [4]: df1 = DataFrame(np.arange(12).reshape((3,4)),columns=list('abcd'))In [5]: df2 = DataFrame(np.arange(20).reshape((4,5)),columns=list('abcde'))In [6]: df1Out[6]: a b c d0 0 1 2 31 4 5 6 72 8 9 10 11In [7]: df2Out[7]: a b c d e0 0 1 2 3 41 5 6 7 8 92 10 11 12 13 143 15 16 17 18 19In [8]: df1+df2Out[8]: a b c d e0 0.0 2.0 4.0 6.0 NaN1 9.0 11.0 13.0 15.0 NaN2 18.0 20.0 22.0 24.0 NaN3 NaN NaN NaN NaN NaN
在算术方法中填充值
In [9]: df1.add(df2, fill_value=0)Out[9]: a b c d e0 0.0 2.0 4.0 6.0 4.01 9.0 11.0 13.0 15.0 9.02 18.0 20.0 22.0 24.0 14.03 15.0 16.0 17.0 18.0 19.0In [10]: df1.reindex(columns=df2.columns, fill_value=0)Out[10]: a b c d e0 0 1 2 3 01 4 5 6 7 02 8 9 10 11 0
DataFrame和Series之间的运算
广播
In [12]: arr = np.arange(12).reshape((3,4))In [13]: arrOut[13]:array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]])In [14]: arr[0] #行Out[14]: array([0, 1, 2, 3])In [15]: arr - arr[0]Out[15]:array([[0, 0, 0, 0], [4, 4, 4, 4], [8, 8, 8, 8]])
默认情况下,DataFrame和Series之间的算术运算会将Series的索引匹配到DataFrame的列,然后沿着行一直向下传播。(series=frame.ix[0]
)
上例是Series取DataFrame的行,但是如果想匹配到DataFrame的行,且希望在列上传播,必须使用算术运算方法。frame.sub(series, axis=0)
。传入的轴号就是希望匹配的轴。(series = frame['a']
)
0 0
- pandas基础运算
- pandas 基础
- pandas基础
- pandas 基础
- Pandas基础
- Pandas基础
- pandas基础
- pandas基础
- pandas 基础
- pandas基础
- pandas 基础
- pandas基础
- Pandas学习笔记:pandas基础
- pandas 数据分组运算
- Pandas 矩阵运算
- Pandas 求余运算
- pandas行列传播运算
- pandas运算、排序、排名
- 万能地图下载器在地质能源应用
- nRF52832 — 修改设备ID和mac地址
- 未来二十年,年轻人将失去奋斗的动力
- AndroidStudio 依赖 ButterKnife 出现的空指针异常 8.0版本以上
- java之递归
- pandas基础运算
- 单链表运算
- web前端面试题
- Domino – JnpServer集成【四】——性能分析
- bbed 常用命令
- Java并发包分析——BlockingQueue
- 依赖注入--Dagger2
- 寻找环入口
- Hive框架学习