本文实例讲述了Python数据分析pandas模块用法。分享给大家供大家参考,具体如下:
pandas10分钟入门,可以查看官网:10 minutes to pandas
也可以查看更复杂的cookbook
pandas是非常强大的数据分析包,pandas 是基于 Numpy 构建的含有更高级数据结构和工具的数据分析包。就好比 Numpy的核心是 ndarray,pandas 围绕着 Series 和 DataFrame 两个核心数据结构展开 。Series和DataFrame 分别对应于一维的序列和二维表结构。常规导入方式:
import pandas as pdimport numpy as npimport matplotlib.pyplot as plt
ser1 = pd.Series(range(10,15),index=list('ABCDE'))print(ser1)# 下标和索引等同print(ser1['A'])print(ser1[0])
输出:
A 10
B 11
C 12
D 13
E 14
dtype: int64
10
10
取连续多个数据时,下标取值不包含结束位置,索引切片包括结束位置
print(ser1['A':'D'])print(ser1[0:3])
输出:
A 10
B 11
C 12
D 13
dtype: int64
A 10
B 11
C 12
dtype: int64
取多个数据、条件筛选(布尔索引)
# 注意里面是一个列表print(ser1[[0,1,3]])# 布尔索引print(ser1[(ser1>12)&(ser1<15)])
DataFrame是二维标记数据结构。 您可以将其视为电子表格或SQL表,或Series对象。 它通常是最常用的pandans对象。 像Series一样,DataFrame接受许多不同种类的输入:
Dict of 1D ndarrays, lists, dicts, or Series 2-D numpy.ndarray Structured or record ndarray A Series Another DataFramedf1 = pd.DataFrame(np.random.randint(10,50,(3,4)), - index=list('ABC'),columns=list('abcd'))index是行索引,colums是列索引 用字典创建时,键名就是列索引,而且键值可以为列表,会自动补齐
取单行或单列数据,取单个数据
# 列取值,取出的是一个series对象print(df1['a'])print(df1['a'].values)# 取出一行数据的某一行数据,也就是单个数据print(df1['a']['B']) # 这两个一样print(df1['a'][1])
取不连续多列,取连续多列(默认不支持连续,需要高级索引)
# 取不连续多列print(df1[['a','c']])
行索引,可以直接切片,但是默认不能不连续多行取值,下标同理
print('行索引取值##############')print(df1['A':'A'])# 取连续多行就是df1['A':'C']
一般情况用于DataFrame,这里直接略过Series
新闻热点
疑难解答