pythonpandas用法_python之pandas用法详解

本文详细介绍了Python数据分析库Pandas的基础知识,包括Series和DataFrame两种主要数据结构的创建、操作和特性。通过实例展示了如何利用Pandas进行数据处理,如索引、选择、算术运算、缺失数据处理等,是学习Pandas的入门教程。
摘要由CSDN通过智能技术生成

pandas是基于numpy构建的,使得数据分析工作变得更快更简单的高级数据结构和操作工具。

一、pandas数据结构

两个主要的数据结构:Series和DataFrame。

1.1 Series

Series是一种类似于一维数组的对象,它由一维数组(各种numpy数据类型)以及一组与之相关的数据标签(即索引)组成,仅由一组数据即可产生最简单的Series.

Series的字符串表现形式为:索引在左边,值在右边。如果没有为数据指定索引,于是会自动创建一个0到N-1(N为数据的长度)的整数型索引。可以通过Series的values和index属性获取其数组表现形式和索引对象:

import numpy as np

import pandas as pd

from pandas import Series,DataFrame

#**********************************Series*************************************

obj=Series([2,4,7,8,9,3])

'''obj=

0 2

1 4

2 7

3 8

4 9

5 3

dtype: int64

'''

obj.values #return:array([2, 4, 7, 8, 9, 3], dtype=int64)

obj.index #return: RangeIndex(start=0, stop=6, step=1)

#创建对数据点进行标记的索引

obj2=Series([2,4,7,8,9,3],index=['a','b','c','d','e','f'])

'''obj2=

a 2

b 4

c 7

d 8

e 9

f 3

dtype: int64

'''

obj2.index #return:Index(['a', 'b', 'c', 'd', 'e', 'f'], dtype='object')

#利用索引的方式选取Series的单个或一组值

obj2['c'] #return:7

obj2[['a','c','f']]

'''out:

a 2

c 7

f 3

dtype: int64

'''

#numpy数组运算(布尔型数组进行过滤、标量乘法、应用数学函数等)都会保留索引和值之间的链接

obj2[obj2>5]

obj2*2

np.exp(obj2)

'''

obj2[obj2>5]: obj2*2: np.exp(obj2):

c 7 a 4 a 7.389056

d 8 b 8 b 54.598150

e 9 c 14 c 1096.633158

dtype: int64 d 16 d 2980.957987

e 18 e 8103.083928

f 6 f 20.085537

dtype: int64 dtype: float64

'''

#可以将Series看成是一个有定长的有序字典,因为它是索引值到数据值的一个映射

#因此,一些字典函数也可以在这里使用:

'a' in obj2 #return:True

'h' in obj2 #return:False

2 in obj2.values #return:True

#利用字典创建Series

dic={'l':1,'z':2,'h':3}

obj3=Series(dic)

'''obj3=

h 3

l 1

z 2

dtype: int64

'''

#若索引比字典的索引多,则与字典索引相匹配的则会被找到,并放置到相应的位置中

#而对应字找不到的索引,其结果则为NaN(即非数字,Not a Number,在pandas中,用于表示缺失或NA值)

ind=['l','z','h','a']

obj4=Series(dic,index=ind)

'''obj4=

l 1.0

z 2.0

h 3.0

a NaN

dtype: float64

'''

#pandas中isnull和notnull函数用于检测缺失数据:

pd.isnull(obj4) #等效于: obj4.isnull()

pd.notnull(obj4)

'''

pd.isnull(obj4): pd.notnull(obj4)

l False l True

z False z True

h False h True

a True a False

dtype: bool dtype: bool

'''

#算术运算中自动对齐不同索引的数据

obj3+obj4

'''out:

a NaN

h 6.0

l 2.0

z 4.0

dtype: float64

'''

#Series对象本身及其索引都有一个name属性

obj4.name='myname'

obj4.index.name='letter'

'''obj4=

letter

l 1.0

z 2.0

h 3.0

a NaN

Name: myname, dtype: float64

'''

#索引可以通过赋值的方式进行改变

obj4.index=['li','zi','hua','a']

'''obj4=

li 1.0

zi 2.0

hua 3.0

a NaN

Name: myname, dtype: float64

'''

1.2 DataFrame

DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)。DataFrame既有行索引也有列索引,它可以被看做由Series组成的字典(公用同一个索引)。跟其他类似的数据结构相比,DataFrame中面向行和面向列的操作基本是平衡的。其实,DataFrame中的数据是以一个或多个二维块存放的(而不是列表、字典或者别的一维数据结构)。

其中,可以输入给DataFrame构造器的数据类型及相关说明:

170046348_1_20190903020745718#*******************************DataFrame*************************************

import numpy as np

import pandas as pd

from pandas import Se

Pandas 是一个强大的数据分析工具,提供了很多常用的函数来处理数据,下面是一些常用的函数及其用法: 1. read_csv():读取 CSV 文件并返回一个 DataFrame 对象。 2. head():返回 DataFrame 的前几行数据,默认为前 5 行。 3. tail():返回 DataFrame 的后几行数据,默认为后 5 行。 4. info():返回 DataFrame 的基本信息,包括每列的数据类型、非空值数量等。 5. describe():返回 DataFrame 的基本统计信息,包括计数、均值、标准差、最小值、最大值等。 6. shape:返回 DataFrame 的行数和列数。 7. columns:返回 DataFrame 的列名。 8. index:返回 DataFrame 的行索引。 9. loc[]:根据行标签和列标签访问 DataFrame 中的元素。 10. iloc[]:根据行索引和列索引访问 DataFrame 中的元素。 11. dropna():删除 DataFrame 中的缺失值。 12. fillna():用指定的值或方法填充 DataFrame 中的缺失值。 13. groupby():按照指定的列对 DataFrame 进行分组。 14. apply():对 DataFrame 的每一列应用指定的函数。 15. pivot_table():根据指定的列计算 DataFrame 的透视表。 16. merge():将两个 DataFrame 按照指定的列进行合并。 17. sort_values():按照指定的列对 DataFrame 进行排序。 18. drop_duplicates():去除 DataFrame 中的重复行。 19. value_counts():统计 DataFrame 中每个元素出现的次数。 20. isnull():判断 DataFrame 中的元素是否为空值。 这些函数覆盖了 Pandas 中的很多常用操作,掌握它们对于数据分析和处理非常有帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值