詳解pandas中Series()和DataFrame()的區(qū)別與聯(lián)系
更新時間:2023年01月11日 10:06:17 作者:我是小螞蟻
本文主要介紹了詳解pandas中Series()和DataFrame()的區(qū)別與聯(lián)系,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
區(qū)別:
- series,只是一個一維數(shù)據(jù)結(jié)構(gòu),它由index和value組成。
- dataframe,是一個二維結(jié)構(gòu),除了擁有index和value之外,還擁有column。
聯(lián)系:
- dataframe由多個series組成,無論是行還是列,單獨拆分出來都是一個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) # 類型: <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']) # 類型: series
'''
0 ? ? Brussels
1 ? ?New Delhi
2 ? ? Brasilia
Name: Capital, dtype: object
'''
print(df1.iterrows()) # 返回 一個 生成器 <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) 返回了一個元組
(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] 是一個 series,而且原來的列名,現(xiàn)在變成了現(xiàn)在的索引名,
由此可見,dataframe是由多個行列交錯的series組成。
'''
# 現(xiàn)在可以 構(gòu)建幾個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
可以看到,行 和 列 都是顛倒的,因此需要進行一下轉(zhuǎn)置
'''
print(df_new.T)
'''
? ?Country ? Captital ?Population
0 ?Belgium ? Brussels ? ?11190846
1 ? ?India ?New Delhi ?1303171035
2 ? Brazil ? Brasilia ? 207847528
'''
'''
總結(jié):
? ? series, 就是一個 一維 的數(shù)據(jù)結(jié)構(gòu),它是由?。椋睿洌澹『汀。觯幔欤酰濉〗M成。
? ? dataframe, 是一個 二維 數(shù)據(jù)結(jié)構(gòu),它由多個?。螅澹颍椋澹蟆?gòu)成。
'''到此這篇關(guān)于詳解pandas中Series()和DataFrame()的區(qū)別與聯(lián)系的文章就介紹到這了,更多相關(guān)pandas Series()和DataFrame()內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python如何將jpg圖像修改大小并轉(zhuǎn)換為png
這篇文章主要介紹了Python如何將jpg圖像修改大小并轉(zhuǎn)換為png問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09
Python基于matplotlib畫箱體圖檢驗異常值操作示例【附xls數(shù)據(jù)文件下載】
這篇文章主要介紹了Python基于matplotlib畫箱體圖檢驗異常值操作,涉及Python針對xls格式數(shù)據(jù)文件的讀取、matplotlib圖形繪制等相關(guān)操作技巧,并附帶xls數(shù)據(jù)文件供讀者下載參考,需要的朋友可以參考下2019-01-01
在IPython中進行Python程序執(zhí)行時間的測量方法
今天小編就為大家分享一篇在IPython中進行Python程序執(zhí)行時間的測量方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11
Python+matplotlib調(diào)用隨機函數(shù)生成變化圖形
這篇文章主要介紹了如何在Python中利用隨機函數(shù)生成變化的圖形,文中的示例代碼講解詳細,對我們學(xué)習(xí)有一定吧參考價值,需要的可以了解一下2022-04-04

