pandas切片操作
pandas切片操作
一、总结
一句话总结:
pandas中的方法可以接在切片的数据之后
为某一列的特定的数据赋值:data[data["v"]<5] = 5
统计指定的多列的平均值:print(data.loc[:,["v","w"]].mean())
统计某一列中某个数的出现次数:data[data["v"]<5] = 5,print(data["v"].value_counts())
二、pandas切片操作
转自或参考:pandas切片操作
https://blog.csdn.net/zhangcongyi420/article/details/103909107
在得到数据后,经常需要对数据进行提取、分析和使用,提取数据过程中难免要对数据进行各种切片操作,根据具体的业务需求筛选出所需的数据,pandas提供了一些方法方便我们选取数据,下面主要讲解dataFrame类型的数据选取,Series类型用法类似,可以参考官方文档进行更细致的探究
pandas主要提供了三种属性用来选取行/列数据
属性名 | 属性 |
---|---|
ix | 根据整数索引或者行标签选取数据 |
loc | 根据行标签选取数据 |
iloc | 根据位置的整数索引选取数据 |
这三种属性,既可以让我们获取整行/整列的数据,也可以让我们选取符合标准的行/列数据,但ix这种混用的方式官方已经不再推荐使用,下文的小案例中也不对此例做过多的讲述
具体案例
导入pandas并创建一个4行5列的DataFrame
import pandas as pd
import numpy as np
data = pd.DataFrame(np.arange(20).reshape((4,5)),index=list("ABCD"),columns=list("vwxyz"))
print(data)
下面对得到的这组数据进行相关的切片操作
1、获取某一行的数据
print(data.iloc[1])
2、获取连续的多行数据
print(data[1:3])
#print(data.head(3))
3、获取不连续的多行数据
print(data.iloc[[1,3]])
4、获取指定的列的数据
print(data.loc[:,["v","z"]])
5、获取指定的多行多列
print(data.loc[["A","B"],["x","y"]])
6、获取列上某些大于或者小于特定的数
print(data[data['v']>5])
7、为某一列的特定的数据赋值
data[data["v"]<5] = 5
8、求出某一列上的数据是否满足特定的要求
print(data[data["v"].isin([5,15])])
9、统计具体的某一列的平均值
print(data["v"].mean())
10、统计指定的多列的平均值
print(data.loc[:,["v","w"]].mean())
11、统计某一行的平均值
print(data.iloc[1].mean())
11、统计某一列中某个数的出现次数
data[data["v"]<5] = 5
print(data["v"].value_counts())