欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python Pandas中創(chuàng)建Series的三種方法總結(jié)

 更新時(shí)間:2023年06月13日 09:50:43   作者:AHU-丁少俠  
這篇文章主要介紹了Python Pandas中創(chuàng)建Series的三種方法總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Pandas中創(chuàng)建Series的三種方法

一、通過列表創(chuàng)建

# encoding=utf-8
import pandas as pd
# 定義一個(gè)列表
a = [1, 2, 3, 4]
s1 = pd.Series(a)
print(s1)

運(yùn)行結(jié)果:

第一列為索引,是Series在創(chuàng)建時(shí)默認(rèn)生成的,第二列即為值,通過type(s1)命令即可看到s1的數(shù)據(jù)類型為:pandas.core.series.Series,我們也可以將第四行的代碼改為:

`s1 = pd.Series(a, index=["a", "b", "c", "d"])`

重新設(shè)置我們的索引,這樣原先的索引就從0,1,2,3變?yōu)榱?code>a,b,c,d,更有一定的語(yǔ)義

如果我們想查看索引和值可以分別通過訪問Seriesindex屬性和values屬性:

二、通過數(shù)組創(chuàng)建

這里的數(shù)組值的是numpy中的數(shù)組,它是對(duì)python列表的深度封裝。

我們來(lái)看代碼:

# encoding=utf-8
import pandas as pd
import numpy as np
# 定義數(shù)組
arr = np.arange(1, 5)
s2 = pd.Series(arr)
print(s2)

運(yùn)行結(jié)果:

可以看到,也成功創(chuàng)建了一個(gè)Series

三、通過字典創(chuàng)建

關(guān)于Series,筆者認(rèn)為它更像一個(gè)有序的大字典,因此我們用操作字典的習(xí)慣操作Series往往能得心應(yīng)手。

我們來(lái)看如何通過字典創(chuàng)建一個(gè)Series

# encoding=utf-8
import pandas as pd
# 創(chuàng)建一個(gè)字典
dic = {"name": "丁少俠", "age": 20, "grade": [100, 99, 88]}
s3 = pd.Series(dic)
print(s3)

運(yùn)行結(jié)果:

這里我們已經(jīng)成功創(chuàng)建了一個(gè)存放學(xué)生信息的Series,由于字典自帶key,因此索引也就自然創(chuàng)建了。

如果我們希望grade放在第一列,應(yīng)該怎么設(shè)置呢?我們只需要修改第5行代碼:

s3 = pd.Series(dic, index=["grade", "name", "age"])

此時(shí),index參數(shù)的功能不再是設(shè)置索引,而是根據(jù)索引排序,因?yàn)樽值浔旧碜詭饕?/p>

另外,假如我們將第5行代碼修改為以下呢:

s3 = pd.Series(dic, index=["grade", "name", "age", "sex"])

可以看到,因?yàn)檫@位同學(xué)的性別未知,創(chuàng)建的Series中,sex這一欄就只能填NaN了,通過賦值,即可確定性別。

s3["sex"]="男"

看,像不像字典的操作!?。?!那么我們順著操作字典的思路再試著操作s3,再添加一個(gè)屬性:hobby

s3["hobby"] = ["code,basketball,sleep"]

關(guān)于Series的操作無(wú)非增刪改查,這里我們點(diǎn)到為止。

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

Pandas安裝

pip install pandas

numpy和pandas區(qū)別

  • numpy :生成的是ndarray,數(shù)組
  • pandas:基于numpy,生成兩種對(duì)象,一種是series,一種是dataframe。
  • series:一維數(shù)組類似array,series=索引+數(shù)據(jù)。區(qū)別是Series能保存不同種數(shù)據(jù)類型,字符串、boolean值、數(shù)字等,而numpy只能存儲(chǔ)同類型數(shù)據(jù)。
  • dataframe:二維的表格型數(shù)據(jù)結(jié)構(gòu),是組合的series。dataframe 的每一行和每一列都是一個(gè)series。

Series的生成

生成Series:

語(yǔ)法結(jié)構(gòu):

Series(data=None, index=None, dtype=None, name=None, copy=False, fastpath=False)
  • data:可傳入數(shù)組,可迭代對(duì)象,字典或標(biāo)量值
  • index:以數(shù)組或列表形式傳入自定義索引,若不傳值,則默認(rèn)[0,1,2…n],索引的個(gè)數(shù)需與data的長(zhǎng)度相等
  • name: 自定義series的名字,默認(rèn)none
#Series實(shí)例
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結(jié)構(gòu)輸出

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時(shí)傳入的值是list結(jié)構(gòu),輸出的仍是 ndarray結(jié)構(gòu)

獲取series的索引:

series.index,:以pandas index 結(jié)構(gòu)輸出
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'>

通過索引找到對(duì)應(yīng)值:兩種方法:通過位置查找/通過索引名稱查找

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])#通過位置切片查找,類似列表/數(shù)組
#輸出
3
a ? ?3
b ? ?5
c ? -2

將字典轉(zhuǎn)換成series:key對(duì)應(yīng)變成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

查找缺失數(shù)據(jù):返回缺失數(shù)據(jù)的索引和非缺失數(shù)據(jù)的索引+值

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

判斷series中是否存在缺失數(shù)據(jù):seri.isnull().any(),輸出布爾值

注:numpy.nan 是生成確實(shí)數(shù)據(jù)的方法,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中是否都為缺失數(shù)據(jù):series.isnull().any(),輸出布爾值

去重: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函數(shù),
print(set(data))
#輸出
{'m', 'w', '9', 'a', 'k'}
#區(qū)別:
set去重后會(huì)改變?cè)瓉?lái)的順序,而unique不會(huì)
set生成的事set對(duì)象 <class 'set'>,而unique生成的事ndarray對(duì)象 <class 'numpy.ndarray'>

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 計(jì)算機(jī)二級(jí)python學(xué)習(xí)教程(1) 教大家如何學(xué)習(xí)python

    計(jì)算機(jī)二級(jí)python學(xué)習(xí)教程(1) 教大家如何學(xué)習(xí)python

    這篇文章主要為大家詳細(xì)介紹了計(jì)算機(jī)二級(jí)python學(xué)習(xí)教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • 使用Python生成新春煙花效果的方法

    使用Python生成新春煙花效果的方法

    新春佳節(jié)到來(lái)之際,煙花的璀璨綻放象征著喜慶和熱鬧,如果能通過代碼在屏幕上生成煙花效果,既能增加節(jié)日的趣味,也能加深對(duì)編程的理解,本篇博客將詳細(xì)介紹如何使用Python生成新春煙花效果,包括實(shí)現(xiàn)原理、代碼解析以及常見問題的解決方案,需要的朋友可以參考下
    2025-01-01
  • python實(shí)現(xiàn)log日志的示例代碼

    python實(shí)現(xiàn)log日志的示例代碼

    下面小編就為大家分享一篇python實(shí)現(xiàn)log日志的示例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2018-04-04
  • 在Linux下調(diào)試Python代碼的各種方法

    在Linux下調(diào)試Python代碼的各種方法

    這篇文章主要介紹了在Linux下調(diào)試Python代碼的各種方法,用于編程后的debug工作,需要的朋友可以參考下
    2015-04-04
  • Python學(xué)習(xí)筆記之Zip和Enumerate用法實(shí)例分析

    Python學(xué)習(xí)筆記之Zip和Enumerate用法實(shí)例分析

    這篇文章主要介紹了Python學(xué)習(xí)筆記之Zip和Enumerate用法,結(jié)合實(shí)例形式分析了Zip和Enumerate的功能、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-08-08
  • Python地圖繪制實(shí)操詳解

    Python地圖繪制實(shí)操詳解

    在本文里我們給大家介紹了用Python繪制地圖的知識(shí)點(diǎn)以及詳細(xì)步驟,需要的朋友們跟著學(xué)習(xí)下。
    2019-03-03
  • 詳解python單元測(cè)試框架unittest

    詳解python單元測(cè)試框架unittest

    本篇文章給大家詳解了python單元測(cè)試框架unittest的相關(guān)知識(shí)點(diǎn),有興趣的朋友參考學(xué)習(xí)下。
    2018-07-07
  • wxPython多個(gè)窗口的基本結(jié)構(gòu)

    wxPython多個(gè)窗口的基本結(jié)構(gòu)

    這篇文章主要為大家詳細(xì)介紹了wxPython多個(gè)窗口的基本結(jié)構(gòu),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Win10環(huán)境中如何實(shí)現(xiàn)python2和python3并存

    Win10環(huán)境中如何實(shí)現(xiàn)python2和python3并存

    這篇文章主要介紹了Win10環(huán)境中如何實(shí)現(xiàn)python2和python3并存,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • YOLOv5中SPP/SPPF結(jié)構(gòu)源碼詳析(內(nèi)含注釋分析)

    YOLOv5中SPP/SPPF結(jié)構(gòu)源碼詳析(內(nèi)含注釋分析)

    其實(shí)關(guān)于YOLOv5的網(wǎng)絡(luò)結(jié)構(gòu)其實(shí)網(wǎng)上相關(guān)的講解已經(jīng)有很多了,但是覺著還是有必要再給大家介紹下,下面這篇文章主要給大家介紹了關(guān)于YOLOv5中SPP/SPPF結(jié)構(gòu)源碼的相關(guān)資料,需要的朋友可以參考下
    2022-05-05

最新評(píng)論