pandas df中有几个数组_Pandas数据处理与分析一

9e4675e9d20b27b2afacfd26ba16ebbc.gif

Pandas数据处理与分析

a4267f0b8a844e54de1543e7cdd06e5e.png cac2596a970e678e0e390b1505b74573.gifSUMMER 4a68dbdcd7ddf8c123cf8b113d7afcf9.png

1

什么是Pandas

百度百科:pandas 是基于 NumPy  的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的 数据模型 ,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

2

Pandas安装

pip install pandas

2

Pandas数据结构

1、Series——序列

   一维数组,其中的元素类型可以是任何类型的,比如:整型、浮点型、字符串型、对象类型等。

  • 初始化包含多种类型数据的序列

import pandas as pds_1= pd.Series([9, 'zheng', 'beijing', {'a':1}])print(s_1)
执行结果:
0           91       zheng2     beijing3    {'a': 1}dtype: object
  • 指定索引,并通过索引访问序列元素

s_2=pd.Series([3, -5, 7, 4], index=['a', 'b', 'c', 'd'])for key, value in enumerate(s_2):    print(key,' : ', value)print("通过索引访问:", s_2['d'])print("通过下标访问:",s_2[3])
执行结果:
0  :  31  :  -52  :  73  :  4通过索引访问: 4通过下标访问: 4
  • 用字典构造序列

dic = {"a": 2, "b": 8, "c": 9, "d": None}s_3 = pd.Series(dic, name="demo1")print(s_3)
执行结果:
a    2.0b    8.0c    9.0d    NaNName: demo1, dtype: float64
2、DataFrame      pandas常用对象,是存储不同类型数据的二维数组,其常用属性有 values、index、columns、dtypes,可以分别获取元素、索引、列名和类型。
  • 创建一个DataFrame

data = {        '性别':['男','女','女','男','男'],        '姓名':['小明','小红','小芳','大黑','张三'],        '年龄':[20,21,25,24,29],        '职业':['老师','工人',None,None,None]}df = pd.DataFrame(data,index=[1,2,3,4,5],               columns=['姓名','性别','年龄','职业'])print(df)
执行结果:
   姓名 性别  年龄    职业1  小明  男  20    老师2  小红  女  21    工人3  小芳  女  25  None4  大黑  男  24  None5  张三  男  29  None
  • values属性

data = df.valuesprint(data)  # 结果是一个二维数组,print(data[1][1]) # 可以通过二位数组下标访问元素

执行结果:

[['小明' '男' 20 '老师'] ['小红' '女' 21 '工人'] ['小芳' '女' 25 None] ['大黑' '男' 24 None] ['张三' '男' 29 None]] 女
  •  index属性

print(df.index)
执行结果:
Int64Index([1, 2, 3, 4, 5], dtype='int64')
  • columns属性

Index(['姓名', '性别', '年龄', '职业'], dtype='object')
  • dtypes属性

print(df.dtypes)
执行结果:
姓名    object性别    object年龄     int64职业    objectdtype: object
  • head、tail获取头尾指定行

print(df.head(2))print(df.tail(2))
执行结果:
   姓名 性别  年龄  职业1  小明  男  20  老师2  小红  女  21  工人   姓名 性别  年龄    职业4  大黑  男  24  None5  张三  男  29  None
  • describe()

  统计数值列的相关信息,包括:计数,平均值,标准差,最小值
最大值以及较低的百分位数和50。
print( df.describe())
执行结果:
              年龄count   5.000000mean   23.800000std     3.563706min    20.00000025%    21.00000050%    24.00000075%    25.000000max    29.000000
  • sort_index()排序

    按照行或列进行排序,可指定一列或几列对数据进行排。

    默认调用方式:

DataFrame.sort_index(axis=0, level=None, ascending=True, inplace=False, kind='quicksort', na_position='last', sort_remaining=True, by=None)

参数含义:

  • axis:0按照行名排序,1按照列名排序;

  • level:sort on values in specified index level(s)(按照给定的索引level顺序排序,默认为None);

  • ascending:True为升序排列;False为降序排列;

  • inplace:排序之后的数据直接替换原来的数据,默认为False;

  • kind:排序方法,{‘quicksort’, ‘mergesort’, ‘heapsort’}, default ‘quicksort’。

  • na_position:缺失值排在最前面或者最后面{"first","last"},默认是最后面'last';

  • by:按照某一列或几列数据进行排序,在sort_index中不建议使用。

# 行名排序 降序df_row=df.sort_index(axis=0, ascending=False)print(df_row)# 列名排序 降序df_col=df.sort_index(axis=1, ascending=False)print(df_col)

结果:

   姓名 性别  年龄    职业5  张三  男  29  None4  大黑  男  24  None3  小芳  女  25  None2  小红  女  21    工人1  小明  男  20    老师     职业 性别  年龄  姓名1    老师  男  20  小明2    工人  女  21  小红3  None  女  25  小芳4  None  男  24  大黑5  None  男  29  张三
  • sort_values()排序

指定by参数,即指定哪几行或哪几列对数据排序。

# 按照年龄列降序排序df_1=df.sort_values(axis=0, ascending=False, by='年龄')print(df_1)

结果:

   姓名 性别  年龄    职业5  张三  男  29  None3  小芳  女  25  None4  大黑  男  24  None2  小红  女  21    工人1  小明  男  20    老师
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值