python pandas常用数据处理方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Tianweidadada/article/details/83151625

pandas



1、header = 0 不同于 header = None
	header = 0 表示 第0行为列
	header = None 表示读取的时候 认为没有标题,全是数据
	可以用 skiprows = 1 跳过列名

2、pandas 获取指定的行列数据
	df.iloc[0:2,[0,3]]  #读取 第 [0,2)行的第[0,3)列

3、创建 df = DataFram(data,index = '',columns = '')
	dates = pd.date_range('20130101', periods=3)
	data = pd.DataFrame(data,index=dates,columns=['A','B','C'])

4、查看列标题,行标题,数据描述,转置
	df.columns
	df.index
	df.describe() #带括号 查看数据描述,包括均值,方差,分位点
	df.T 

5、排序
	df.sort_values(by='B') # 按照 列 B 进行排序 默认升序
	df.sort_index(axis=1,ascending=False)  # 根据索引 排序 axis = 1 表示 分别对每一行排序,axis= 0表示对每一列排序
	ascending = False 表示按照降序排序

6、行列选择
	df.loc[:,['A','B']] #选择所有行的 A,B列
	df[0:3] #选择[0,3)行
	df.iloc[3] #选择第三行数据
	df.iloc[3:5,0:2] # [3,5)行 [0,2)列数据
	df.iloc[3:5,0:2]  # 这里都是切片
	df.iloc[[1,2,4],[0,2]] #用列表进行跳跃选择 行列 注意这样的话 行选择需要是列表需要多加一层[]  [[1,2,3],[0:2]]是错误的
	df.iloc[1,1] = df.iat[1,1] #获取位置[1,1] 的元素(单个元素可以不写成列表形式)

7、数据选择、赋值
	(1)对某一列进行数据选择
		df[df.A > 0] # 判断 A列值是否大于0 返回boolean值
		df[df > 0] = -df # 把 df(可以看作矩阵) 中大于0的元素 取反
	(2) 把 D列赋值为 np.array()
		 df.loc[:,'D'] = np.array([5] * len(df))

8、缺失值处理
	(1)去除包含缺失值的行(只要有缺失值就去掉)
		df1.dropna(how='any')		 
	(2)把缺失值改为5
		df1.fillna(value=5)
	(3)判断是否是缺失值
		 pd.isna(df1) # 返回 bool矩阵,注意 是 用 pd调用 df

9、数据统计
	(1)求均值
		 df.mean(axis = 1) # 对每一行求均值 默认为按照列求均值

10、groupby用法
		data = [
		    ['男',20,98],
		    ['男',24,88],
		    ['女',35,89],
		    ['女',27,90]
		]

		df = pd.DataFrame(data,columns=['gender','age','score'])
		print(df)
		print(df.groupby("gender").size())
		print(df.groupby("gender").mean())

		Output:
		
			  gender  age  score
		0      男   20     98
		1      男   24     88
		2      女   35     89
		3      女   27     90
		gender
		女    2
		男    2
		dtype: int64
		         age  score
		gender             
		女       31.0   89.5
		男       22.0   93.0







参考:

http://pandas.pydata.org/pandas-docs/stable/10min.html 官方10分钟教程

https://blog.csdn.net/brucewong0516/article/details/79096633

猜你喜欢

转载自blog.csdn.net/Tianweidadada/article/details/83151625