参与拿奖:本文已参与「新人创作礼」活动,一起开启掘金创作之路
1.基础知识
1.1 准备工作
# 安装pandas
pip install pandas
# 导入包
import pandas as pd
2.series序列
2.1 创建series序列
一个Series序列就是包含索引index,value的序列
# 创建一个series序列
series=pd.Series([2,8,3.01,9])
print(series)
# 自制索引
series1=pd.Series([i for i in range(5)],index=[chr(ord('a')+i) for i in range(5)])
print(series1)
# 使用字典
dic={'北京':1,'上海':2}
series2=pd.Series(dic)
print(series2)
# 查看值
print(series2.values)
#类型
print(series2.dtype)
#维度
print(series2.ndim)
2.2 常见操作
# 切片
print(series2[0:1])
# 插入数据
series3=pd.Series({"四川":2})
series2=series2.append(series3)
print(series2)
# 删除数据,并取代原始数据
series2.drop('四川',inplace=True)
print(series2)
3.DataFrame矩阵
3.1 创建矩阵
a)通过列表创建
# DataFrame(data,index,dtype,columns)
data=[['张三',23],['李四',24],['王五',26]]
df=pd.DataFrame(data,columns=['姓名','年龄'])
print(df)
b)通过字典创建
#通过字典创建
df1=pd.DataFrame({'姓名':['张三','李四','王五'],'年龄':[23,24,26]})
print(df1)
3.2 常见操作
# 值
print(df1.values)
# 矩阵大小
print(df1.shape)
# 数据类型
print(df1.dtypes)
# 获取列名
print(df1.columns.tolist())
# 维度
print(df1.ndim)
# 大小
print(df1.size)
# 索引
print(df1.index.tolist())
4 案例
4.1 读取csv文件
# 数据筛选
data=pd.read_csv(r'Customer-Churn.csv')
# 打印前五行数据
print(data.head(5)) # 等价于 data[:5]
#某列前五行
print(data['gender'][:5])
# loc使用标签加列名取出数据
# 标签+列名
print(data.loc[0:2,'gender'])
# 条件选择
print(data.loc[data['gender']=='Male',['gender']])
# 两个条件(行和列)
print(data.iloc[:,1:4])
# 单条件筛选
print(data[['gender','Partner']][data['gender']=='Male'])
# 多条件筛选
print(data[['gender']][(data['gender']=='Male')&(data['Partner']=='Yes')])
# 新加一列
data['Charges']=data['MonthlyCharges']
# 删除一列
data.drop(['Charges'],axis=1,inplace=True)
df=pd.DataFrame({"id":[1,2,3,4,5],'name':[chr(ord('a')+i) for i in range(5)],'sex':['male' if i%2==0 else 'femal' for i in range(5)]})
df_1=pd.DataFrame({"id":[1,2,3,4,5],'年龄':[i for i in range(10,15)]})
# 拼接两个矩阵,inner表示交集、outer表示并集
merge=pd.concat([df,df_1],axis=1,join='inner')
print(merge)
# 按照关键字合并
merg1=pd.merge(left=df,right=df_1,how='right',left_on='id',right_on='id')
print(merg1)
#按照索引合并
merg2=pd.merge(left=df,right=df_1,how='right',left_index=True,right_index=True)
print(merg2)
# 多重索引
print(merg2.loc[:,['name','sex']])
print(merg2.loc[(1,2),['name','sex']])
参考资料
[1] 本节代码