詳解pandas中Series()和DataFrame()的區(qū)別與聯(lián)系
區(qū)別:
- series,只是一個(gè)一維數(shù)據(jù)結(jié)構(gòu),它由index和value組成。
- dataframe,是一個(gè)二維結(jié)構(gòu),除了擁有index和value之外,還擁有column。
聯(lián)系:
- dataframe由多個(gè)series組成,無(wú)論是行還是列,單獨(dú)拆分出來(lái)都是一個(gè)series。
代碼演示:
import numpy as np
import pandas as pd
from pandas import Series, DataFrame
data = {'Country':['Belgium', 'India', 'Brazil'],
? ? ? ? 'Capital':['Brussels', 'New Delhi', 'Brasilia'],
? ? ? ? 'Population':[11190846, 1303171035, 207847528]
? ? ? ? }
# Series
s1 = Series(data['Country'])
print(s1)
'''
0 ? ?Belgium
1 ? ? ?India
2 ? ? Brazil
dtype: object
'''
print(s1.values) # 類(lèi)型: <class 'numpy.ndarray'>
'''
['Belgium' 'India' 'Brazil']
'''
print(s1.index)
'''
RangeIndex(start=0, stop=3, step=1)
'''
# 為Series指定index
s1 = Series(data['Country'], index=['A', 'B', 'C'])
print(s1)
''' 索引更改
A ? ?Belgium
B ? ? ?India
C ? ? Brazil
dtype: object
'''
# Dataframe
df1 = pd.DataFrame(data)
print(df1)
'''
? ? ?Capital ?Country ?Population
0 ? Brussels ?Belgium ? ?11190846
1 ?New Delhi ? ?India ?1303171035
2 ? Brasilia ? Brazil ? 207847528
'''
print(df1['Capital']) # 類(lèi)型: series
'''
0 ? ? Brussels
1 ? ?New Delhi
2 ? ? Brasilia
Name: Capital, dtype: object
'''
print(df1.iterrows()) # 返回 一個(gè) 生成器 <generator object DataFrame.iterrows at 0x7f226a67b728>
for row in df1.iterrows():
? ? print(row)
? ? print(row[0], row[1])
? ? print(type(row[0]), type(row[1]))
? ? break
'''?
print(row) 返回了一個(gè)元組
(0, Capital ? ? ? Brussels
Country ? ? ? ?Belgium
Population ? ?11190846
Name: 0, dtype: object)
'''
'''
print(row[0], row[1]) 的返回值
0 Capital ? ? ? Brussels
Country ? ? ? ?Belgium
Population ? ?11190846
Name: 0, dtype: object
'''
'''
print(type(row[0]), type(row[1]))
<class 'int'> <class 'pandas.core.series.Series'>
row[1] 是一個(gè) series,而且原來(lái)的列名,現(xiàn)在變成了現(xiàn)在的索引名,
由此可見(jiàn),dataframe是由多個(gè)行列交錯(cuò)的series組成。
'''
# 現(xiàn)在可以 構(gòu)建幾個(gè)series
s1 = pd.Series(data['Country'])
s2 = pd.Series(data['Capital'])
s3 = pd.Series(data['Population'])
df_new = pd.DataFrame([s1, s2, s3], index=['Country', 'Captital', 'Population'])
print(df_new)
'''
? ? ? ? ? ? ? ? ? ?0 ? ? ? ? ? 1 ? ? ? ? ?2
Country ? ? ?Belgium ? ? ? India ? ? Brazil
Captital ? ?Brussels ? New Delhi ? Brasilia
Population ?11190846 ?1303171035 ?207847528
可以看到,行 和 列 都是顛倒的,因此需要進(jìn)行一下轉(zhuǎn)置
'''
print(df_new.T)
'''
? ?Country ? Captital ?Population
0 ?Belgium ? Brussels ? ?11190846
1 ? ?India ?New Delhi ?1303171035
2 ? Brazil ? Brasilia ? 207847528
'''
'''
總結(jié):
? ? series, 就是一個(gè) 一維 的數(shù)據(jù)結(jié)構(gòu),它是由?。椋睿洌澹『汀。觯幔欤酰濉〗M成。
? ? dataframe, 是一個(gè) 二維 數(shù)據(jù)結(jié)構(gòu),它由多個(gè)?。螅澹颍椋澹蟆?gòu)成。
'''到此這篇關(guān)于詳解pandas中Series()和DataFrame()的區(qū)別與聯(lián)系的文章就介紹到這了,更多相關(guān)pandas Series()和DataFrame()內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python?Tkinter庫(kù)從入門(mén)到進(jìn)階使用教程
Tkinter是Python標(biāo)準(zhǔn)庫(kù)中內(nèi)置的圖形用戶界面(GUI)工具包,提供了創(chuàng)建窗口、按鈕、文本框等GUI元素的功能,本文將介紹Tkinter的基礎(chǔ)知識(shí),幫助大家快速入門(mén)2023-12-12
Python實(shí)現(xiàn)PDF轉(zhuǎn)MP3的示例代碼
我們平常看到很多文件都是PDF格式,網(wǎng)上的各類(lèi)書(shū)籍多為此格式。有時(shí)候不方便閱讀,或者怕費(fèi)眼睛傷頸椎,那么有沒(méi)有一種方法可以把它變?yōu)橐纛l,本文就來(lái)和大家詳細(xì)講講2023-05-05
Python的Tornado框架實(shí)現(xiàn)圖片上傳及圖片大小修改功能
Tornado是一個(gè)異步的Python Web開(kāi)發(fā)框架,同時(shí)也是一個(gè)優(yōu)秀的異步服務(wù)器開(kāi)發(fā)庫(kù),這里我們將來(lái)講解一下Python的Tornado框架實(shí)現(xiàn)圖片上傳及圖片大小修改功能方面的一些重點(diǎn):2016-06-06
python函數(shù)默認(rèn)參數(shù)使用避坑指南
這篇文章主要為大家介紹了python函數(shù)默認(rèn)參數(shù)使用的踩雷避坑詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
Python二叉樹(shù)的鏡像轉(zhuǎn)換實(shí)現(xiàn)方法示例
這篇文章主要介紹了Python二叉樹(shù)的鏡像轉(zhuǎn)換實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了二叉樹(shù)鏡像轉(zhuǎn)換的原理及Python相關(guān)算法實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-03-03
Python3.9.1中使用split()的處理方法(推薦)
這篇文章主要介紹了Python3.9.1中使用split()的處理方法(推薦),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02

