【pandas教程】入门知识

导入

	import numpy as np
	import pandas as pd

常用设置

详细设置参考:pandas.set_option 用法总结

	pd.set_option('display.max_columns', None) # 最多显示列数
	pd.set_option('display.max_rows', None) # 最多显示行数
	pd.set_option('display.max_colwidth',1000) # 单列最大宽度
	pd.set_option('display.width', None ) # 表最大宽度
	pd.set_option('display.multi_sparse', False) # 多层索引时全部显示
	pd.set_option('display.colheader_justify', 'left') # 表头居左(left)、居右(right)显示、居中(center)显示
	pd.set_option('display.date_dayfirst', 'True') # 日期显示:日期在前
	pd.set_option('display.date_yearfirst', 'True') # 日期显示:年份在前
	pd.set_option('display.encoding', 'utf-8') # 控制台打印字符编码,默认为utf-8

生成对象

用值列表生成 Series 时,Pandas 默认自动生成整数索引:

	# 生成带有索引的一维数组
	s =pd.Series([1,3,5,np.nan,6,8])

用含日期时间索引与标签的 NumPy 数组生成 DataFrame :

	# 生成时间序列数据
	dates =pd.date_range('20130101',periods=6)
	# 生成日期索引、指定列名的DF
	df =pd.DataFrame(np.random.randn(6,4),index=dates,columns=list('ABCD'))

用 Series 字典对象生成 DataFrame:

	# 每个键值对对应一列,键为列名,值为列值,索引为自增数字
	 df2 = pd.DataFrame({'A':1.,
	'B':pd.Timestamp('20130102'),
	'C':pd.Series(1,index=list(range(4)),dtype='float32'),
	'D':np.array([3]*4,dtype='int32'),
	'E':pd.Categorical(["test","train","test","train"]),
	'F':'foo'})

查看数据类型

	# 使用dtypes方法查看df中各列数据类型
	df2.dtypes

查看数据

	# 查看头部,方法,接受行数
	df.head(5)
	# 查看尾部,方法,接受行数
	df.tail(5)
	# 查看索引,属性,不带括号
	df.index
	# 查看列名,属性,不带括号
	df.columns
	# 转换为numpy类型,丢失索引和列名,异构数据(多种类型)会占用较多资源
	df.to_numpy()
	# 查看数据统计摘要
	df.describe()
	# 输出分位数信息
	df.describe(percentiles=[.05, .25, .75, .95])

查看数据列

	# 查看列是否包含重复值
	df['col'].is_unique
	# 查看列是否单调
	df['col'].is_monotonic
	# 查看列是否单调递增
	df['col'].is_monotonic_increasing
	# 查看列是否单调递减
	df['col'].is_monotonic_decreasing
	# 查看列是否包含na值,返回布尔索引列
	df['col'].isna()
	# 查看列是否为null值,返回布尔索引列
	df['col'].isnull()
	

转置和排序

    # 转置
	df.T
	df.transpose()
	# 对索引排序,axis=0对行排序,ascending=True降序,ascending=False升序
	df.sort_index(axis=0, ascending=False)
	# 对索引排序,axis=1对列排序,ascending=True降序,ascending=False升序
	df.sort_index(axis=1, ascending=False)
	# 排序后的索引,按照索引切片时会按照排序后的索引选择数据,相当于改变了df的index属性顺序
	df.sort_index().loc(0:2)
	# 对单列排序,by=列名,对指定列排序
	df.sort_values(by='B')
	# 对多列排序,by=[列名1, 列名2]
	df.sort_values(by=['A', 'B'])
	df.sort_values(['A', 'B'])
	# 对单列降序排列,ascending=False
	df.sort_values('A', ascending=False)
	# 对多列混合排列,ascending=[True, False]
	df.sort_values(['A', 'B'], ascending=[True, False])
	df.sort_values(['A', 'B'], ascending=[1, 0])

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鱼摆摆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值