pandas 一文涵盖基础知识,建议收藏

6 篇文章 0 订阅

概述

pandas是一个数据分析的神器,类似excel,但是功能更加强大,便捷。使用思想类似数据库处理,是对表格的处理,比如表格的增删改查,表格排序,条件搜索等。

其中DataFrame概念等同于表格,Series则是列。

本文以下内容参考了作者数据不吹牛的知识,融合其中4篇文章,看不懂我的,请看原文:

https://blog.csdn.net/SeizeeveryDay/article/details/100430621

https://blog.csdn.net/SeizeeveryDay/article/details/100428758

https://blog.csdn.net/SeizeeveryDay/article/details/100428923

https://blog.csdn.net/SeizeeveryDay/article/details/100550466

基础

建表

640?wx_fmt=png

import pandas as pd
df = pd.read_csv("../xxxxx.csv",engine='python') #读csv
df = pd.read_excel('xxx.xls') #读excel

df.head(5) #打印前5行,不填为5
df.tail(5) #打印后5
df.info() #展示表格信息,类型,数量等

df.to_csv('xxx.csv')
df.to_excel('xxx.xlsx') #存储

df.describe() #答应描述信息,count,mean,std等

#增删改差
df['新增的列'] = a(数值列表)
df.drop('新增的列', axis =1, inplace=True) #删除,inplace代表是否替换源数据
df[['列名','列名2']]
df['某列']=a(数值列表)

df = df['列'].str.replace('\n','') #替换

df = df['列'].str.replace('%','').astype(float) #替换后改变数值类型
df['日期']= pd.to_datetime(日期列表,可是str型) #时间类型,时间类型直接进行加减,自支持

索引

#选取1-2行,3-4列,用法同python list
df.iloc[1:2, 3:4]

#筛选
df.loc[df['列'] == '值', :]  #中间写条件即可
df.loc[df['列'].isin(['a','b']), :]
df['列'].mean() #均值 std 标准差 median 中位数 max min

表合并 级联

df = pd.concat([d1,d2,d3]) #纵向合并 枚举联结 2行x2行x3行 = 12行

#用索引联结
df = pd.merge(left = d1, right =d2, left_index = True, ringht_index = True, how ='inner')
 # 假设姓名是单独的一列值,且需要根据姓名进行匹配,那就需要用“left_on = '姓名',right_on = '姓名'
# how是指定连接方式,这里用的inner,表示我们基于姓名索引来匹配,只返回两个表中共同(同时出现)姓名的数据。

下面详解一下inner还涉及到的其他参数——left,right,outer。

 表处理


#删除空值
df.dropna()
#去重 根据某列去除,可不填参数,去除重复
df.drop_duplicates( subset='列')


#条件查询
df.loc[(条件1) & (条件2 =),:] # 与用 & 或用 | 

#排序
df = df.sort_values('lie', ascending = False)

#分组
df = df.groupby('')
df = df.groupby('')['选择显示的列'].sum() #max...


#切分

 

apply

func 是一个函数 常用的是 max,min,len

案例:取各省份第三名的销售额

def get_third(x):
    if len(x) <= 1:
        return x.iloc[0,:]
    else:
        return x.iloc[2,:]
df.grpupby('省份')['列名'].apply(get_third)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值