pandas常用操作

pandas读取数据:

import pandas as pd
dataPath = 'test.csv'
data = pd.read_csv(dataPath , sep=',', iterator=False,encoding='utf-8', header=None)
# 其中dataPath 代表读取的文件的路径,
#     sep代表文件每行分隔的符号
#     iterator代表文件读取时以迭代的方式进行,设置为True可以减少内存占用
#     encoding代表读取文件的字符编码格式
#     header设置为None代表数据中没有列名,读取时可以忽略掉列名,默认为infer,其将第一行作为标签

pandas查看数据:

print data.head()    # 查看数据的前5行,括号中可以填数字,代表查看的行数
print data.tail()    # 查看数据的后5行,括号中可以填数字,代表查看的行数
print data.shape    # 查看data的大小,结果如(1024,10)

pandas删除行、列:

#  删除行,删除了data中的第16、17行
data.drop([16,17],inplace=True)   # inplace设置为True则原数据也改变
# 等价于
data.drop(data.index[[16,17]],inplace=True)

# 删除列,删除data中标签为age的列
del data['age']
# 等价于下式,均可添加inplace参数
data.drop(['age'],axis=1)

# 删除方法详见  http://www.jianshu.com/p/67e67c7034f6

pandas排序:

data = data.sort_values(by=['age', 'name'])  # 根据by中的参数名进行排序

pandas合并列表

data_12 = pd.merge(data1, data2, on=['age', 'name'], how='outer')
#  将data1和data2两个DataFrame类型的进行合并,on中代表合并时的主键,
#  how中可选参数为outer、inner
#  outer则得到并集,空缺部分为nan,inner为交集

pandas采样

DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None)
# 例子如下
import pandas as pd  
df.sample(n=20000)  

n 是要抽取的行数。(例如 n=20000 时,抽取其中的 2W 行)
frac 是抽取的比列。(有一些时候,我们并对具体抽取的行数不关系,我们想抽取其中的百分比,这个时候就可以选择使用 frac,例如 frac=0.8,就是抽取其中 80%)
replace 抽样后的数据是否代替原 DataFrame()
weights 这个是每个样本的权重,具体可以看官方文档说明。
random_state 随机数

pandas保存数据:

data.to_csv('baseinfo2.csv', index=False)
# 将data保存到baseinfo2.csv中
# 其中index设置为False为了防止写入文件时写入索引。

你可能感兴趣的:(pandas常用操作)