本文实例讲述了Python使用Pandas库常见操作。分享给大家供大家参考,具体如下:
Pandas 是Python的核心数据分析支持库,提供了快速、灵活、明确的数据结构,旨在简单、直观地处理关系型、标记型数据。Pandas常用于处理带行列标签的矩阵数据、与 SQL 或 Excel 表类似的表格数据,应用于金融、统计、社会科学、工程等领域里的数据整理与清洗、数据分析与建模、数据可视化与制表等工作。
数据类型:Pandas 不改变原始的输入数据,而是复制数据生成新的对象,有普通对象构成的一维数组成为Series,由Series构成的二维数组表称为DataFrame,其行被称为index,列为Colum。
安装:如果使用anaconda集成环境则会自动安装numpy、scipy、pandas等数据科学包,也可以通过python包管理工具安装pandas:
pip install pandas
通过Series()函数包裹一维数组可以创建Series对象,其中数组的元素可以是各种类型。
通过DataFrame()函数包裹二维数组可以创建一个DataFrame对象,可以通过参数index、columns指定行标签和列标签。也可以通过python的字典类型初始化DataFrame,其键名默认为列标签
import pandas as pd import numpy as np # 通过一维数组初始化Series s = pd.Series([1, 2.0, np.nan, 'test']) print(s) # 通过二维数组初始化DataFrame arr = np.random.randn(6, 4) arr_df = pd.DataFrame(arr, index=np.arange(1, 7), columns=list('ABCD')) print(arr_df) # 通过字典dict初始化DataFrame dic = {'A': 1., 'B': pd.Timestamp('20130102'), 'C': pd.Series(1, index=list(range(4)), dtype='float32'), 'D': np.array([3] * 4, dtype='int32'), 'E': pd.Categorical(["test", "train", "test", "train"]) } dic_df = pd.DataFrame(dic) print(dic_df)
其运行结果如下:
# Series数据 0 1 1 2 2 NaN 3 test dtype: object # 二维数组的DataFrame A B C D 1 -0.085417 -0.816502 1.495134 -0.277742 2 1.657144 -0.203346 0.631930 -1.182239 3 -2.303923 -0.535696 1.315379 0.129682 4 0.133198 -0.239664 -2.004494 0.119965 5 -1.454717 2.114255 -0.538678 -0.580361 6 -0.759183 0.141554 -0.243270 2.840325 # dict字典DataFrame A B C D E 0 1.0 2013-01-02 1.0 3 test 1 1.0 2013-01-02 1.0 3 train 2 1.0 2013-01-02 1.0 3 test 3 1.0 2013-01-02 1.0 3 train
函数head(n)可以查看DataFrame前n行的数据,tail(n)查看倒数n行的数据
index()查看DataFrame的行标签,columns显示列标签
describe()按列显示数据的统计信息,包括计数、均值、方差、最小最大值等。
函数mean()显示所有列的均值,mean(1)显示所有行的均值
sum()求所有列的均值,sum(1)求所有行的均值
DataFrame有一个empty属性用于判断是否为空,若为空则返回True
arr = np.random.randn(6, 4) df = pd.DataFrame(arr, index=np.arange(1, 7), columns=list('ABCD')) print(df.head(3)) print(df.index) print(df.describe())
结果如下
# 查看前三行数据 A B C D 1 3.260449 -0.619396 0.070877 1.586914 2 -0.529708 0.071917 -1.919316 1.845727 3 -1.005765 2.176579 -0.323483 -1.295067 # 查看行标签 Int64Index([1, 2, 3, 4, 5, 6], dtype='int64') # 查看统计信息 A B C D count 6.000000 6.000000 6.000000 6.000000 mean -0.184606 -0.487184 0.079433 0.855810 std 1.721394 1.800460 1.379498 1.128764 min -1.443635 -3.091446 -1.919316 -1.295067 25% -0.967105 -1.430192 -0.281188 0.778729 50% -0.694488 -0.273739 -0.041713 1.150944 75% -0.531744 0.197755 0.355731 1.508475 max 3.260449 2.176579 2.352142 1.845727