pandas操作

带有重复值的轴索引:

    obj = Series(range(5), index=['a', 'a', 'b', 'c'])
obj.index.is_unique # 判断索引是否唯一,返回bool值

对于含有多个索引,在选取数据时,如果某个索引对应多个值,返回一个Series, 而对应单个值得,返回一个标量值。


    对于  DataFrame对象与Series方法相似,选个单个唯一索引时,返回一个Series对象;选个单个重复索引时,返回一个DataFrame对象

    

汇总和计算描述统计:

     df4.sum() #每列求和
df4.sum(axis=1) # 每行求和
df.mean(axis=1, skipna=False)  #返回各行平均值,如含有NAN,则返回NAN值

参数选项:
axis: DataFrame的行为0,列为1
skipna 排除缺失值,默认为True

level 如果轴是层次化索引的,则依据level 分组索引


     df4.idxmax()  # 返回每列最大值的索引

        df4.idxmin()  #返回每列最小值的索引

        df4.idxmin(axis=1)  #返回行最小值的索引

     df4.idxmax(axis=1)  #返回行最大值的索引



    df4.describe() # 描述每列的状态值


---唯一值、值计数、和成员资格

obj5 = Series(['c', 'a', 'd', 'a', 'a', 'b', 'b', 'c', 'd'])
uniques = obj.unique()  # 所有元素去重,结果未排序
obj5.value_counts()  # 返回各值出现的频率
pd.value_counts(obj.values, sort=False) # 功能同上,且可以排序

mask = obj.isin(['b', 'c']) #判断 Series或DataFrame 列中元素是否其内。


----处理缺失数据:

     string_data = Series(['aardvark', 'artichoke', np.nan, 'avocado'])
string_data.isnull() # 判断元素是否为NAN值,返回布尔值
python内置的None值也会被当做NA处理:
string_data[0] = None

string_data.isnull()

---滤除缺失数据


from numpy import nan as NA
data = Series([1, NA, 3.5, NA, 7])
data.dropna()   # 去除掉NA值,对应元索引不变
data[data.notnull()] #功能同上,且可以排序
对于DataFrame对象,dropna默认去除含有缺失数据的整行
data = DataFrame([[1., 6.5, 3.], [1., NA, NA], [NA, NA, NA],[NA, 6.5, 3.]])
cleaned = data.dropna()  #去除含有缺失数据的整行
cleaned = data.dropna(how='all') #去除全为缺失数据的整行

如果操作对象改为列的话吗, 只需添加参数, axsi= 1 即可。





 


猜你喜欢

转载自blog.csdn.net/qiao8756/article/details/80592482