Pandas数据载入与预处理
一、数据载入
1 读取excel,文本文件,csv
import numpy as np
#读取excel,默认读取第一个sheet
p = pd.read_excel('data//tips.xls')
#如果想读取student的sheet
p = pd.read_excel('data//tips.xls','student')
# print(p.head())
#读取txt文件
a = pd.read_table('data//a.txt')
# print(a.head())
#读取CSV文件
d = pd.read_csv('data//dots.csv')
print(d.head(3))
2、读取json,数据库
二、数据合并
1、merge数据合并
x = pd.DataFrame({'name':['A','B','C','D'],'age':[1,2,3,4]})
print(x)
y = pd.DataFrame({'name':['A','B','E'],'age':[1,5,6]})
print(y)
#默认合并的取的是两个数据的交集
print(pd.merge(x,y))
输出结果:
1.1 内连接-inner
#按name,将 x,y有相同name的进行合并
print('outer:\n',pd.merge(x,y,how='inner',on='name'))
输出结果:
1.2 外连接--outer
#外连:x,y的所有name罗列出来
print('outer:\n',pd.merge(x,y,how='outer',on='name'))
输出结果:
1.3 左连接-left
#外连:x,y的所有name罗列出来
print('outer:\n',pd.merge(x,y,how='outer',on='name'))
输出结果:
1.4 右连接-right
print('right:\n',pd.merge(x,y,how='right',on='name'))
输出结果:
1.5 参数suffiexes作用:重复列名的修改
print(pd.merge(x,y,on='name',suffixes=('_left','_right')))
输出结果:
2、concat数据连接
默认情况下,会按行堆叠数据。
s1 = pd.Series([0,1],index=['a','b'])
s2 = pd.Series([2,3,4],index=['a','b','c'])
s3 = pd.Series([5,6],index=['f','g'])
print(pd.concat([s1,s2,s3]))
输出结果:
2.2 两个D