Pandas数据分析

Pandas数据分析

导入文件-数据清理-统计分析-导出文件

pandas对象

series + DataFrame

pandas是python数据分析重要的库,而Series和DataFrame是pandas库中两个重要的对象和两个重要的数据结构。

*Series:*是带标签的一维同构数组;
*DataFrame:*是带标签的,大小可变的,二维异构表格。

1
2
3
4
# 引入pandas库
import pandas as pd
# 解决数据输出时列名不对齐的问题
pd.set_option('display.unicode.east_asian_width',True)

Series对象

s = pd.Series(data,index=index)

创建Series对象时需要输入数据和索引;

数据可以是python字典、多维数组、数值等;

索引index可以自己定义,也可以采用默认的从0开始的索引。

1
2
3
4
5
6
7
8
9
10
11
12
13
s1 = pd.Series([8,54,3])
print(s1)
s2 = pd.Series([8,45,32],index=['一','二','三'])
print(s2)

# 通过索引来搜索数据,但是当索引数大于等于2时,需要使用两个[]
print(s2['一'])
print(s2[['一','二']])
print(s2[['一','二','三']])

# 获取全部索引名称或值
print(s2.index)
print(s2.values)

DataFrame 对象

创建DataFrame表格
df = pd.DataFrame(data=data, index=index, columns=columns, dtype=dtype)
data: 表示数据,可以是ndarray数组、Series对象、列表、字典等。
index: 行索引
columns:列标签
dtype: 每一列数据的数据类型。pandas数据类型与python本身数据类型有所差异。(见df2)

  1. 常规方法创建DataFrame

    1
    2
    3
    4
    5
    6
    7
    8
    9
    # 定义数据集
    data = [[2,2,3],[3,3,4],[4,4,5]]
    # 定义行索引
    index = ['ming','lili','ann']
    # 定义列索引
    columns = ['数学','语文','英语']
    # 创建DataFrame表格
    df = pd.DataFrame(data=data, index=index, columns=columns)
    print(df)
  2. 使用二维数组创建DataFrame

    1
    2
    3
    4
    data = [[110,120,120],[100,125,122],[111,122,133]]
    columns = ['语文','数学','英语']
    df1 = pd.DataFrame(data=data, columns=columns)
    print(df1)
  3. 使用字典创建DataFrame

    1
    2
    3
    4
    5
    6
    7
    pd.set_option('display.unicode.east_asian_width', True)
    df2 = pd.DataFrame(
    {'Pandas dtype':['object','int64','float64','bool','datetime64','timedalta[ns]','category'],
    'python type':['str','int','float','bool','datetime64[ns]','NA','NA']},
    index=['字符串','整数','浮点数','布尔值','日期值','日期值','分类']
    )
    print(df2)
  4. 遍历DataFrame

    1
    2
    3
    for col in df.columns:
    series = df[col]
    print(series)

DataFrame重要属性

属性作用 属性名称
查看所有元素的值 df.values
查看所有列的数据类型 df.dtypes
查看行名 df.index
对行名进行重命名 df.index=[‘ming’,’li’,’an’]
查看所有列名 df.columns
对列名进行重命名 df.columns=[‘语’,’数’,’外’]
行列数据转换 df.T
查看前n条数据(默认前5) df.head()
查看后n行数据(默认后5) print(df.tail())
统计行数和列数(0代表行,1代表列) df.shape[0]
统计行数和列数(0代表行,1代表列) df.shape[1]
查看索引。数据类型和内存信息 df.info()

DataFrame重要函数

函数作用 函数名称
查看每列的统计汇总信息 df1.describe()
返回每一列中的非空值的个数 df1.count()
返回每一列的和,无法计算则返回空值 df.sum()
返回每一列最大值 df.max()
返回每一列最小值 df.min()
返回最大值所在的自定义索引位置 df1.idxmax()
返回最小值所在的自定义索引位置 df1.idxmin()
返回每一列的平均值 df1.mean()
返回每一列的中位数 df.median()
返回每一列的方差 df.var()
返回每一列的标准差 df.std()
检查表格是否存在空值 df.isnull() # True为空值
检查表格是否存在空值 df.notnull() # True为非空值

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!