Pandas基础01

Pandas基础

记录使用Pandas过程中踩过的坑。
感谢相关参考网页。请见参考文献

1引言

入门Python基础语法,如果一头扎进《利用Python进行数据分析》这本经典之中,硬着头皮啃完之后,好像自己什么都会了一点,然而实际操作起来既不知从何操起,又漏洞百出。
至于原因嘛,理解不够,实践不够是两条老牌的拦路虎,只能靠自己来克服。

Pandas是基于Numpy的专业数据分析工具,可以灵活高效的处理各种数据集。它提供了两种类型的数据结构,分别是DataFrameSeries,我们可以简单粗暴的把DataFrame理解为Excel里面的一张表,而Series就是表中的某一列,后面学习和用到的所有Pandas操作,都是基于这些表和列进行的操作。

2创建、读取和存储

  1. 创建
    建立如下表格
    在这里插入图片描述
    第一步一定是先导入pandas库——import pandas as pd
    构造DataFrame最常用的方式是字典+列表,语句很简单,先是字典外括,然后依次打出每一列标题及其对应的列值(此处一定要用列表),这里列的顺序并不重要。
df01 = pd.DataFrame({'工资': [1000, 2000, 3000, 400],
        '绩效分': [60, 84, 98, 91],
        '备注': ['不及格', '良好', '优秀', '最佳']}, 
        index = ['老王', '小刘', '小赵', '老龚']
    )

如果在创建时不指定index,系统会自动生成从0开始的索引。

  1. 读取
    相关文件数据直接读进PANDAS中进行操作,这里介绍两种非常接近的读取方式,一种是CSV格式的文件,一种是EXCEL格式(.xlsx和xls后缀)的文件。
    读取csv
csvfile = os.path.join('z:\\', 'z', '样例目录', '样例数据.csv')
df03 = pd.read_csv(csvfile, engine = 'python')
print(df03.head(10))

读取xls文件

xlsfile = os.path.join('z:\\', 'z', '样例目录',  '样例文件.xlsx')
df04 = pd.read_excel(xlsfile)
print(df04.head(8))
  1. 存储
df03.to_csv('xxx.csv')
df04.to_excel('xxx.xlsx')

查看数据

  1. 查看数据,掐头看尾

    df.head()
    df.tail()
    
  2. 格式查看

    df.info()
    
  3. 统计信息概览

    df.describe()
    

    其中count是统计每一列的有多少个非空数值,mean、std、min、max对应的分别是该列的均值、标准差、最小值和最大值,25%、50%、75%对应的则是分位数。

  4. 列的基本处理方式
    增、删、选、改。
    温馨提示:使用Pandas时,尽量避免用行或者EXCEL操作单元格的思维来处理数据,要逐渐养成一种列向思维,每一列是同宗同源,处理起来是嗖嗖的快。
    1)增
    增加一列,用df[‘新列名’] = 新列值的形式,在原数据基础上赋值即可:

    df02['新增的列'] = range(5, len(df02) + 5)
    

    2)删
    用drop函数制定删除对应的列,axis = 1表示针对列的操作,inplace为True,则直接在源数据上进行修改,否则源数据会保持原样。

    df05 = df02.drop('新增的列', axis = 1, inplace = False)
    df02.drop('老王', axis = 0, inplace = True)
    

    3)选:
    选一列,df[‘列名’]即可
    选多列,df[[‘第一列’,‘第二列’,‘第三列’…]]
    4)改:
    df[‘旧列名’] = 某个值或者某列值

  5. 常用数据类型及操作
    1)字符串
    Pandas中字符串的操作和原生字符串操作几乎一毛一样,唯一不同的是需要在操作前加上".str"。
    2)数值型

    df02['结果'] = df02['工资'] * df02['绩效分'] * 0.01
    df02['结果'] = df02['工资'].str.astype(float) * df02['绩效分'].str.astype(float) * 0.01
    

    3)时间类型

    df02['日期'] = pd.to_datetime(df02['新增列2'])
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值