Pandas 是一个开源的第三方 Python 库,从 Numpy 和 Matplotlib 的基础上构建而来 Pandas 名字衍生自术语 “panel data”(面板数据)和 “Python data analysis”(Python 数据分析) Pandas 已经成为 Python 数据分析的必备高级工具,它的目标是成为强大、灵活、可以支持任何编程语言的数据分析工具 Pandas 是 Python 语言的一个扩展程序库,用于数据分析 Pandas 是一个开放源码、BSD 许可的库,提供高性能、易于使用的数据结构和数据分析工具 Pandas 一个强大的分析结构化数据的工具集,基础是 Numpy(提供高性能的矩阵运算) Pandas 可以从各种文件格式比如 CSV、JSON、SQL、Microsoft Excel 导入数据 Pandas 可以对各种数据进行运算操作,比如归并、再成形、选择,还有数据清洗和数据加工特征 Pandas 广泛应用在学术、金融、统计学等各个数据分析领域 Pandas 的出现使得 Python 做数据分析的能力得到了大幅度提升,它主要实现了数据分析的五个重要环节:加载数据、整理数据、操作数据、构建数据模型、分析数据 pip install pandas==1.1.5 -i https://pypi.tuna.tsinghua.edu.cn/simple/
import  matplotlib. pyplot as  plt
import  numpy as  np
import  pandas as  pd
def  pd_series ( ) : series01 =  pd. Series( ) print ( series01) print ( ) series02 =  pd. Series( [ '张三' , '李四' ,  '王五' ,  '赵六' ] ) print ( series02) print ( ) series03 =  pd. Series( [ 1 , 2 , 3 , 4 ] ,  index= [ 'a' ,  'b' ,  'c' ,  'd' ] ) print ( series03) print ( ) arr =  np. array( [ 1 , 2 , 3 , 4 ] ) series04 =  pd. Series( arr) print ( series04) print ( ) dic =  { 'name' :  '张三' ,  'age' :  18 ,  'sex' :  '男' } series05 =  pd. Series( dic) print ( series05) print ( ) series06 =  pd. Series( 5 ,  index= [ 'a' ,  'b' ,  'c' ] ) print ( series06) if  __name__ ==  '__main__' : pd_series( ) 
Series([], dtype: object)0    张三
1    李四
2    王五
3    赵六
dtype: objecta    1
b    2
c    3
d    4
dtype: int640    1
1    2
2    3
3    4
dtype: int32name    张三
age     18
sex      男
dtype: objecta    5
b    5
c    5
dtype: int64
def  pd_series_atr ( ) : s0 =  pd. Series( [ 'a' , 'b' , 'c' , 'd' , 'e' ] ) print ( s0. axes)   print ( s0. dtype)  print ( s0. empty)  print ( s0. ndim)   print ( s0. size)   print ( s0. values) print ( s0. index)  if  __name__ ==  '__main__' : pd_series_atr( ) 
[RangeIndex(start=0, stop=5, step=1)]
object
False
1
5
['a' 'b' 'c' 'd' 'e']
RangeIndex(start=0, stop=5, step=1)
def  pd_series_method ( ) : s0 =  pd. Series( [ 'a' , 'b' , 'c' , 'd' , 'e' , None ] ) print ( s0) print ( ) print ( '前5个元素为:' ) print ( s0. head( ) )   print ( ) print ( '后5个元素为:' ) print ( s0. tail( ) )   print ( ) print ( '该对象元素为:' ) print ( s0. isnull( ) )  print ( ) print ( '该对象元素为:' ) print ( s0. notnull( ) )  print ( ) print ( s0. describe( ) )  print ( ) print ( s0. sort_values( ) )  print ( ) print ( s0. value_counts( ) )  print ( ) 
if  __name__ ==  '__main__' : pd_series_method( ) 0       a
1       b
2       c
3       d
4       e
5    None
dtype: object前5个元素为:
0    a
1    b
2    c
3    d
4    e
dtype: object后5个元素为:
1       b
2       c
3       d
4       e
5    None
dtype: object该对象元素为:
0    False
1    False
2    False
3    False
4    False
5     True
dtype: bool该对象元素为:
0     True
1     True
2     True
3     True
4     True
5    False
dtype: boolcount     5
unique    5
top       a
freq      1
dtype: object0       a
1       b
2       c
3       d
4       e
5    None
dtype: objecta    1
b    1
c    1
d    1
e    1
Name: count, dtype: int64
def  pd_dataframe ( ) : df01 =  pd. DataFrame( ) print ( df01) print ( ) df02 =  pd. DataFrame( [ '张三' ,  '李四' ,  '王五' ,  '赵六' ] ) print ( df02) print ( ) df03 =  pd. DataFrame( [ '张三' ,  '李四' ,  '王五' ,  '赵六' ] , columns= [ 'name' ] ) print ( df03) print ( ) df04 =  pd. DataFrame( [ [ '张三' , 21 , '男' ] , [ '李四' , 20 , '女' ] , [ '王五' , 19 , '男' ] ] , columns= [ 'name' , 'age' , 'sex' ] ) print ( df04) print ( ) df05 =  pd. DataFrame( { 'name' : [ '张三' ,  '李四' ,  '王五' ] , 'age' : [ 21 ,  20 ,  19 ] , 'sex' : [ '男' , '女' , '男' ] } ) print ( df05) print ( ) df06 =  pd. DataFrame( { 'name' : pd. Series( [ '张三' ,  '李四' ,  '王五' ] ) , 'age' : pd. Series( [ 21 ,  20 ,  19 ] ) , 'sex' : pd. Series( [ '男' , '女' , '男' ] ) } ) print ( df06) print ( ) if  __name__ ==  '__main__' : pd_dataframe( ) 
Empty DataFrame
Columns: []
Index: []0
0  张三
1  李四
2  王五
3  赵六name
0   张三
1   李四
2   王五
3   赵六name  age sex
0   张三   21   男
1   李四   20   女
2   王五   19   男name  age sex
0   张三   21   男
1   李四   20   女
2   王五   19   男name  age sex
0   张三   21   男
1   李四   20   女
2   王五   19   男
import  pandas as  pd
def  pd_col ( ) : df =  pd. DataFrame( { 'name' : [ '张三' ,  '李四' ,  '王五' ] , 'age' : [ 21 ,  20 ,  19 ] , 'sex' : [ '男' , '女' , '男' ] } ) namelist =  list ( df[ 'name' ] ) print ( namelist) print ( df[ 'age' ] ) df[ 'address' ]  =  [ '北京' ,  '上海' ,  '广州' ] df[ 'sex' ]  =  pd. Series( [ 'male' ,  'female' ,  'male' ] ) print ( df) df. insert( 0 , 'id' , pd. Series( [ 0 , 1 , 2 ] ) ) print ( df) print ( ) df. drop( labels= 'id' ,  axis= 1 , inplace= True ) print ( f"df: { df} " ) if  __name__ ==  '__main__' : pd_col( ) 
['张三', '李四', '王五']
0    21
1    20
2    19
Name: age, dtype: int64name  age     sex address
0   张三   21    male      北京
1   李四   20  female      上海
2   王五   19    male      广州id name  age     sex address
0   0   张三   21    male      北京
1   1   李四   20  female      上海
2   2   王五   19    male      广州df:  name  age     sex address
0   张三   21    male      北京
1   李四   20  female      上海
2   王五   19    male      广州
def  pd_loc ( ) : data =  { "name" : [ '张三' ,  '李四' ,  '王五' ,  '赵六' ] , "age" : [ 21 ,  20 ,  19 ,  23 ] , "sex" : [ '男' , '女' , '男' , '男' ] , "address" : [ '北京' ,  '上海' ,  '广州' ,  '深圳' ] } print ( data) print ( ) df =  pd. DataFrame( data, index= [ 'a' ,  'b' ,  'c'  ,  'd' ] ) print ( df. loc[ 'a' ] ) print ( ) print ( df. loc[ 'a' : 'c' ] ) print ( ) print ( df. loc[ 'a' , "name" ] ) print ( ) print ( df. loc[ [ 'a' ,  'c' ] ,  [ 'name' , 'age' ] ] ) print ( )  if  __name__ ==  '__main__' : pd_loc( ) 
{'name': ['张三', '李四', '王五', '赵六'], 'age': [21, 20, 19, 23], 'sex': ['男', '女', '男', '男'], 'address': ['北京', '上海', '广州', '深圳']}name       张三
age        21
sex         男
address    北京
Name: a, dtype: objectname  age sex address
a   张三   21   男      北京
b   李四   20   女      上海
c   王五   19   男      广州张三name  age
a   张三   21
c   王五   19
def  pd_iloc ( ) : data =  { "name" : [ '张三' ,  '李四' ,  '王五' ,  '赵六' ] , "age" : [ 21 ,  20 ,  19 ,  23 ] , "sex" : [ '男' , '女' , '男' , '男' ] , "address" : [ '北京' ,  '上海' ,  '广州' ,  '深圳' ] } df =  pd. DataFrame( data, index= [ 'a' ,  'b' ,  'c'  ,  'd' ] ) print ( df. iloc[ 0 ] ) print ( ) print ( df. iloc[ 0 : 2 ] ) print ( ) print ( df. iloc[ 0 , 1 ] ) print ( ) print ( df. iloc[ [ 0 ,  2 ] ,  [ 0 ,  2 ] ] ) print ( ) print ( df[ 0 : 2 ] ) if  __name__ ==  '__main__' : pd_iloc( ) 
name       张三
age        21
sex         男
address    北京
Name: a, dtype: objectname  age sex address
a   张三   21   男      北京
b   李四   20   女      上海21name sex
a   张三   男
c   王五   男name  age sex address
a   张三   21   男      北京
b   李四   20   女      上海
def  pd_append ( ) : data =  { "A" : [ 1 , 2 , 3 ] , "B" : [ 4 , 5 , 6 ] , "C" : [ 7 , 8 , 9 ] } df =  pd. DataFrame( data, index= [ 'a' ,  'b' ,  'c' ] ) s =  pd. Series( [ 10 , 20 , 30 ] , name =  'd' ) df1 =  pd. concat( [ df,  s. to_frame( ) . T] ,  axis= 0 ) print ( df1) print ( ) df2 =  df1. drop( [ 'd' ] , axis= 0 ) print ( df2) 
if  __name__ ==  '__main__' : pd_append( ) 
     A    B    C     0     1     2
a  1.0  4.0  7.0   NaN   NaN   NaN
b  2.0  5.0  8.0   NaN   NaN   NaN
c  3.0  6.0  9.0   NaN   NaN   NaN
d  NaN  NaN  NaN  10.0  20.0  30.0A    B    C   0   1   2
a  1.0  4.0  7.0 NaN NaN NaN
b  2.0  5.0  8.0 NaN NaN NaN
c  3.0  6.0  9.0 NaN NaN NaN