带你玩转pandas和numpy

1. 初始化
import pandas as pd
data = pd.DataFrame({"name":["lx","cl","zgq"],"age":[18,20,21],"id":[2122,2133,2144]})
data

在这里插入图片描述

2. 基本属性
data.columns			#查看列名
data.index				#查看行索引
data.dtypes				#查看各列数据类型
data.shape				#查看维度
data[data.columns[1:]]	#获取第1~n列数据
data.iloc[1:3,:]		#获取第一行第二行数据
data.index = ["bana","mango","apple","peach"]
data.loc["mango":"peach",:]		#根据行索引获取第二行第三行数据

在这里插入图片描述

data = data.replace([np.inf, np.nan], 0)		#把所有空值替换成0
data['age'] = data['age'].astype(int)			#该列数据类型强转
data[(data['age']>= 20) & (data['id'] >2140)]	#数据筛选,记住有括号
3. groupby 、apply、merge用法
data
data.groupby(["name"]).size().reset_index(name="size")			#根据name列分组,计算出大小,可以替换成size()max()min()
data.groupby(["name"]).apply(lambda x:list(x.id)).reset_index(name = "id_list") 	#计算同一name分组的所有id

在这里插入图片描述

data1.merge(data2,on=["name"],how = "left")		#对data1、data2按照name列进行左连接

在这里插入图片描述

4、新增行、列数据
  • 新增列数据
data.insert(1,"x",[x for x in range(6)])
data["y"] = [x*x for x in range(6)]
data

在这里插入图片描述

  • 新增行数据
standart_row = pd.DataFrame([x for x in range(5)]).T
standart_row.columns = data.columns
data.append(standart_row,ignore_index=True)

在这里插入图片描述

5、读、写xls
  • 读xls文件,第一列作为索引,第一列作为列名
  • 写xls文件
  • 同时写入多个sheet的xls文件
pd.read_excel(filename,index_col=0,header = 0,encoding="utf8")  #header默认为0
pd.to_excel(filename)		#写xls文件

xlsWriter = pd.ExcelWriter(filename)  #同时写入多个sheet
for i in range(5):
	data.to_excel(excel_writer = xlsWriter,sheet_name = i)
xlsWriter.close()
  • 加载、保存pkl文件
data.to_pickle(filename)
data.read_pickle(filename)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值