Pandas 学习笔记
1. 安装
如果做数据分析用途建议使用Anaconda,自带pandas numy 以及很多库,还有集成开发环境Spyder(自带的变量查看器很好用) WIN LINUX MAC均支持。
Anaconda 安装地址:https://www.continuum.io/downloads
安装之后可以在terminal 输入 conda 开头的命令(类似pip),例如list 查看已经安装的包,以及进行常用的install update等动作。
2. Import
绝大部分时候pandas都被使用者import为pd,根据作者的描述其实pandas是panel data的缩写(而不是熊猫)
import pandas as pd
3. DataFrame
DataFrame是Pandas用来处理数据最常见的格式,一张二维的表,有行,列和值。类似于一个数据库里的table 或者excel中的worksheet。如果有一个DataFrame叫df, df.columns可以得到所有的列标签,同理df.index可以得到所有的行标签。
4. 读取数据
4.1 从excel中读取数据
raw = pd.read_excel(‘%s%s.xlsx’ %path %filename, sheetname=’Data’, skiprows= 1)
数据会被读取到一个叫raw的DataFrame中,sheetname可以指定读某个工作表,skiprow可以跳过初始N行的数据。
4.2 从csv中读取数据
raw = pd.read_csv(‘%s%s.csv’ %path %filename)
5. 增删改查
5.1 增删列
新增列,位置在最后一列
raw[‘新列名’] = ‘string’
在中间增列,使用 df.insert()
df.insert(位置,’列名’,值)
例如,在raw df第二列(index不算一列)插入一列,名为city,值为source_data的 [city]列
raw.insert(1,’column_name’,source_data[‘data1’])
删除列
del raw[‘列名’]
5.2 改列名
5.2.1 一次性改变所有的列名
cols = [‘name_1’, ‘name_2’, ‘name_3’]
raw= raw[cols]
5.2.2 修改某个列名
使用df.rename(), 注意如果df中有多个old_name列的话都会被一并重命名为new_name
df=df.rename(columns = {‘old_name’:’new_name’})
5.3 改index
把某列设为index,原index会被删除
raw = raw.set_index(‘column_name’)
reset_index(),新index是以0开始的递增整数列,原index会变成一个新的列。
raw = raw.reset_index()
如果不需要原来的index中的值可以加drop = True:
raw = raw.reset_index(drop=True)
5.4 编辑值(计算值)
5.4.1 四则运算
raw[‘data1’] = raw[‘data1’] *100
raw[‘data2’] = (raw[‘data1’]+raw[‘data3’])/raw[‘data4’]
raw[‘total’] = raw.sum(axis=1)
5.5 查列
5.5.1 筛选某列包含某值(raw df中 GEO CODE为CN的所有数据)
raw = raw[raw[‘GEO_CODE’]==’CN’]
5.5.2 多条件筛选
raw = raw[(raw[‘GEO_CODE’]==’CN’)&(raw[‘METRIC’]==’Conversion Rate’)]