Python pandas,pandas.series,series的主要方法

Pandas 安装:

pip install pandas

numpy 和pandas 区别:

numpy :生成的是ndarray,数组
pandas:基于numpy,生成两种对象,一种是series,一种是dataframe。
series: 一维数组类似array,series=索引+数据。区别是Series能保存不同种数据类型,字符串、boolean值、数字等,而numpy只能存储同类型数据。
dataframe:二维的表格型数据结构,是组合的series。dataframe 的每一行和每一列都是一个series。

Series的生成

生成Series:
语法结构:
Series(data=None, index=None, dtype=None, name=None, copy=False, fastpath=False)
data:可传入数组,可迭代对象,字典或标量值
index:以数组或列表形式传入自定义索引,若不传值,则默认[0,1,2…n],索引的个数需与data的长度相等
name: 自定义series的名字,默认none

#Series实例
import pandas as pd
from pandas import Series

seri=pd.Series([3,5,-2,9],index=['a','b','c','d'])
print(seri)
print(type(seri))
#输出
a    3
b    5
c   -2
d    9
dtype: int64
<class 'pandas.core.series.Series'>

Series的主要方法:

1.** 获取series的值:
series.values,:以ndarray结构输出

import pandas as pd
from pandas import Series

seri=pd.Series([3,5,-2,9],index=['a','b','c','d'])

print(seri.values)
print(type(seri.values))
#输出
[ 3  5 -2  9]
<class 'numpy.ndarray'> #生成series时传入的值是list结构,输出的仍是 ndarray结构

  1. 获取series的索引:
    series.index,:以pandas index 结构输出
import pandas as pd
from pandas import Series

seri=pd.Series([3,5,-2,9],index=['a','b','c','d'])
print(seri.index)
print(type(seri.index))
#输出:
Index(['a', 'b', 'c', 'd'], dtype='object')
<class 'pandas.core.indexes.base.Index'>
  1. 通过索引找到对应值:两种方法:通过位置查找/通过索引名称查找
import pandas as pd
from pandas import Series
seri=pd.Series([3,5,-2,9])
seri.index=["a","b","c","d"]
print(seri["a"]) #通过索引名称查找,类似字典
print(seri[0:3])#通过位置切片查找,类似列表/数组
#输出
3
a    3
b    5
c   -2
  1. 将字典转换成series:key对应变成index,value为值
import pandas as pd
from pandas import Series
dic={"a":"5","n":"6","k":"0"}
seri=pd.Series(dic)
print(seri)
#输出
a    5
n    6
k    0
  1. 查找缺失数据:返回缺失数据的索引和非缺失数据的索引+值
import pandas as pd
from pandas import Series
dic={"a":'',"n":"","k":"0"}
seri=pd.Series(dic)
print(seri.isnull)
#输出:
<bound method Series.isnull of a     n     
k    0
  1. 判断series中是否存在缺失数据:seri.isnull().any(),输出布尔值
    注:numpy.nan 是生成确实数据的方法,nan: not a num
import numpy as np
import pandas as pd
from pandas import Series
dic={"a":np.nan,"n":np.nan,"k":"f"}
seri=pd.Series(dic)
print(seri.isnull().all())
#输出:
False
#ps: 判断series中是否都为缺失数据:series.isnull().any(),输出布尔值
  1. 去重:series.unique()
import pandas as pd
from pandas import DataFrame
from pandas import Series
data=["a","k","m","a","w","m","9"]
obj=Series(data)
uniques=obj.unique()
print(uniques)
#输出:
['a' 'k' 'm' 'w' '9']

#注:也可以用python 的set函数,
print(set(data))
#输出
{'m', 'w', '9', 'a', 'k'}

#区别:
set去重后会改变原来的顺序,而unique不会
set生成的事set对象 <class 'set'>,而unique生成的事ndarray对象 <class 'numpy.ndarray'>

猜你喜欢

转载自blog.csdn.net/weixin_44595372/article/details/88072413