Python Pandas常用操作(持续更新)


因平时处理数据使用pandas较多,但是在一段时间不用后就忘记了,所以借用该文章进行整理汇总保存,以供后续查询使用。因仅是为了整理,文中会有部分转载内容,如有侵权,请联系删除。

常用方法

1. 排序

df.sort_values("xxx",inplace=True)

xxx是需要排序的字段名称,inplace为True表示在原表中修改,否则只在返回值中修改

2. DataFrame随机取值

df.sample(n=None, frac=None, replace=False, weights=None,
         random_state=None, axis=None)[source]
         
n: 返回的数据量
frac: 返回的数据量占比,与n不能同时使用
replace: 是否允许重复采样
weight: 权重,输入一个Series,表示行的权重
random_state: 随机数发生器种子
axis: 0表示按行取,1表示按列取

3. Python Pandas 常用统计数据方法汇总(求和,计数,均值,中位数,分位数,最大/最小,方差,标准差等)

此部分直接转载一位博主的内容,原博文请点击链接
关于如何求协方差,详见链接

apply()函数的使用

DataFrame.apply(self, func, axis=0, raw=False, result_type=None, args=(), **kwds

apply()函数将传入的DataFrame或Series转为列表块,传入函数func中,并将返回值转化为DataFrame或Series。
当axis=0时,apply()函数按列对传入数据进行切片;反之,按行进行切片
建立一个简单的df表

x = [1,2,3]
y = [4,5,6]
z = [7,8,9]
df = pd.DataFrame([x,y,z], columns=list('xyz'))
df

在这里插入图片描述
取所有元素的平方

def get_square(x):
    return x**2
df.apply(get_square)

在这里插入图片描述
取所有列元素的和

def get_square(x):
    return x[0]+x[1]+x[2]
df.apply(get_square, axis=0)

在这里插入图片描述
从以上两个例子中可以发现,apply()并不只是传入列表元素,而是在尝试传入列表元素失败后再次传入单个元素数据,因为list类型的数据无法直接完成取平方的操作。

将DataFrame中的列表元素分裂成多列

x = [[1,2,3]]
y = [[4,5,6]]
z = [[7,8,9]]
df = pd.DataFrame([x,y,z],columns=['x'])
df

在这里插入图片描述
先直接上解决代码

df = df.xx.apply(lambda x:pd.Series(x))
df.columns=['x','y','z']
df

在这里插入图片描述
原理是,将三个列表作为元素传入lambda函数中,将列表转为Series,再整合为DataFrame,最后更新下字段名称。

DataFrame某一列按照条件筛选,另一列赋值

详见链接

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值