pandas DataFrame apply()函数(2)
上一篇pandas DataFrame apply()函数(1)说了如何通过apply函数对DataFrame进行转换,得到一个新的DataFrame.
这篇介绍DataFrame apply()函数的另一个用法,得到一个新的pandas Series:
apply()中的函数接收的参数为一行(列),把一行(列)通过计算,返回一个值,最后返回一个Series:
下图展示了把DataFrame的各列转换成一个数,最后返回成一个Series:


举个栗子:
import numpy as np
import pandas as pd df = pd.DataFrame({
'a': [4, 5, 3, 1, 2],
'b': [20, 10, 40, 50, 30],
'c': [25, 20, 5, 15, 10]
}) # 对整个DataFrame应用np.mean()函数,取各列的平均值,返回一个包含了各列平均值的Series
print df.apply(np.mean) # 结果:
a 3.0
b 30.0
c 15.0
dtype: float64
# 对整个DataFrame应用np.max()函数,取各列的最大值,返回一个包含了各列最大值的Series
print df.apply(np.max) # 结果: a 5 b 50 c 25 dtype: int64
如果想要返回各列中第二大的数字组成的Series:
def get_second_largest(se):
sorted_se = se.sort_values(ascending=False)
return sorted_se.iloc[1] def second_largest(df):
return df.apply(get_second_largest) print(second_largest(df))
a 4
b 40
c 20
dtype: int64
pandas DataFrame apply()函数(2)的更多相关文章
- pandas DataFrame apply()函数(1)
之前已经写过pandas DataFrame applymap()函数 还有pandas数组(pandas Series)-(5)apply方法自定义函数 pandas DataFrame 的 app ...
- pandas DataFrame.shift()函数
pandas DataFrame.shift()函数可以把数据移动指定的位数 period参数指定移动的步幅,可以为正为负.axis指定移动的轴,1为行,0为列. eg: 有这样一个DataFrame ...
- 【转】Pandas的Apply函数——Pandas中最好用的函数
转自:https://blog.csdn.net/qq_19528953/article/details/79348929 import pandas as pd import datetime #用 ...
- pandas DataFrame applymap()函数
pandas DataFrame的 applymap() 函数可以对DataFrame里的每个值进行处理,然后返回一个新的DataFrame: import pandas as pd df = pd. ...
- pandas dataframe.apply() 实现对某一行/列进行处理获得一个新行/新列
重点:dataframe.apply(function,axis)对一行或一列做出一些操作(axis=1则为对某一列进行操作,此时,apply函数每次将dataframe的一行传给function,然 ...
- [Python Study Notes]pandas.DataFrame.plot()函数绘图
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
- 【338】Pandas.DataFrame
Ref: Pandas Tutorial: DataFrames in Python Ref: pandas.DataFrame Ref: Pandas:DataFrame对象的基础操作 Ref: C ...
- pandas的map函数与apply函数的区别
import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(4,3),columns=list("ABC ...
- pandas.apply()函数
1.介绍 apply函数是pandas里面所有函数中自由度最高的函数.该函数如下: DataFrame.apply(func, axis=0, broadcast=False, raw=False, ...
随机推荐
- python中sqlite问题和坑
import sqlite3 #导入模块 conn = sqlite3.connect('example.db') C=conn.cursor() #创建表 C.execute('''CREATE T ...
- 多表查询、可视化工具、pymysql模块
create table dep( id int primary key auto_increment, name varchar(16), work varchar(16) ); create ta ...
- 牛客国庆集训派对Day1.B.Attack on Titan(思路 最短路Dijkstra)
题目链接 \(Description\) 给定\(n,m,C\)及大小为\((n+1)(m+1)\)的矩阵\(c[i][j]\).平面上有\((n+1)(m+1)\)个点,从\((0,0)\)编号到\ ...
- 洛谷.3369.[模板]普通平衡树(fhq Treap)
题目链接 第一次(2017.12.24): #include<cstdio> #include<cctype> #include<algorithm> //#def ...
- Python3画图系列——NetworkX初探
NetworkX 概述 NetworkX 主要用于创造.操作复杂网络,以及学习复杂网络的结构.动力学及其功能.用于分析网络结构,建立网络模型,设计新的网络算法,绘制网络等等.安装networkx看以参 ...
- BZOJ3795 : 魏总刷DP
对于HARD: 需要满足$k+u[i]\times k\leq T+late[i]$. 对于EASY: 需要满足$k+u[i]\times k\leq T-rest[i]$. 故对于HARD,设$a[ ...
- Linux下安装配置virtualenv与virtualenvwrapper
一.Linux下安装.配置virtualenv 配置源 #指定清华源下载pip的包 [root@localhost opt]# pip3 install -i https://pypi.tuna.ts ...
- 什么是redis?redis有什么用途?
1. Redis: 1.1. 什么是redis: redis是一个开源(BSD许可)的,内存中的数据结构存储系统 1.2. Redis的用途: 数据库.缓存和消息中间件 1.3. 数据类型: 字符串( ...
- eclipse Dynamic web module相关问题
大致因为java的web系统有多种类型,比如静态的和动态的,然后动态的java web project要设置dynamic web module,也就是动态网页模型,他必须要喝对应的服务器搭配好了才能 ...
- linux 下通过xhost进入图形界面,经常会出现报错“unable to open display”
linux 下通过xhost进入图形界面,经常会出现报错“unable to open display” linux下的操作步骤如下: [root@localhost ~]# vncserver N ...