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

Pandas中的常用數(shù)據(jù)類(lèi)型詳解

 更新時(shí)間:2025年01月14日 15:08:22   作者:Happy look  
文章總結(jié):介紹了pandas庫(kù)中常用的四種數(shù)據(jù)結(jié)構(gòu):Series、DatetimeIndex、DataFrame和Panel,詳細(xì)解釋了Series和DatetimeIndex的基本組成和常用操作,并提供了生成時(shí)間序列對(duì)象的函數(shù)date_range()及其參數(shù)說(shuō)明

Pandas常用數(shù)據(jù)類(lèi)型

擴(kuò)展庫(kù)pandas常用的數(shù)據(jù)結(jié)構(gòu)

如下:

(1)Series:帶標(biāo)簽的一維數(shù)組

(2)DatetimeIndes:時(shí)間序列

(3)DateFrame:帶標(biāo)簽且大小可變的二維表格結(jié)構(gòu)

(4)Panel:帶標(biāo)簽且大小可變的三維數(shù)組

1.一維數(shù)組與常用操作

Series由索引和值兩部分組成,是一個(gè)類(lèi)似于字典的結(jié)構(gòu)。

其中值的類(lèi)型可以不同,如果在創(chuàng)建時(shí)沒(méi)有明確指定索引,則會(huì)自動(dòng)使用從0開(kāi)始的非負(fù)整數(shù)作為索引。

import pandas as pd
import matplotlib.pyplot as plt

# 設(shè)置輸出結(jié)果列對(duì)齊
pd.set_option('display.unicode.ambiguous_as_wide',True)
pd.set_option('display.unicode.east_asian_width',True)

# 自動(dòng)創(chuàng)建從0開(kāi)始的非負(fù)整數(shù)索引
s1=pd.Series(range(1,20,5))
# 使用字典創(chuàng)建Series,使用字典的“鍵”作為索引
s2=pd.Series({'語(yǔ)文':90,'數(shù)學(xué)':92,'Python':98,'物理':87,'化學(xué)':92})
# 修改指定索引對(duì)應(yīng)的值
s1[3]=-17
s2['語(yǔ)文']=94

print('s1原始數(shù)據(jù)'.ljust(20,'='))
print(s1,'\n')
print('對(duì)s1所有數(shù)據(jù)求絕對(duì)值'.ljust(20,'='))
print(abs(s1),'\n')
print('s1的每行索引前面加上數(shù)字2'.ljust(20,'='))
print(s1.add_prefix(2),'\n')

print('s2原始數(shù)據(jù)'.ljust(20,'='))
print(s2,'\n')
print('s2數(shù)據(jù)的直方圖'.ljust(20,'='))
s2.hist()
plt.show()
print('s2的每行索引后面加上_張三'.ljust(20,'='))
print(s2.add_suffix('_張三'),'\n')
print('s2最大值的索引'.ljust(20,'='))
print(s2.idxmax(),'\n')
print('測(cè)試s2的值是否在指定區(qū)間內(nèi)'.ljust(20,'='))
print(s2.between(90,94,inclusive=True),'\n')
print('查看s2中90分以上的數(shù)據(jù)'.ljust(20,'='))
print(s2[s2>90],'\n')
print('查看s2中大于中值的數(shù)據(jù)'.ljust(20,'='))
print(s2[s2>s2.median()],'\n')
print('s2與數(shù)字之間的運(yùn)算'.ljust(20,'='))
print(round((s2**0.5)*10,1),'\n')
print('s2中最小的2個(gè)值'.ljust(20,'\n'))
print(s2.nsmallest(2),'\n')

# 兩個(gè)等長(zhǎng)Series對(duì)象之間可以進(jìn)行四則運(yùn)算和冪運(yùn)算
# 只對(duì)兩個(gè)Series對(duì)象中都有的索引對(duì)應(yīng)的值進(jìn)行計(jì)算
# 非共同索引對(duì)應(yīng)的值為空值
print('兩個(gè)Series對(duì)象相加'.ljust(20,'='))
print(pd.Series(range(5))+pd.Series(range(5,10)),'\n')

# pipe()方法可以實(shí)現(xiàn)函數(shù)鏈?zhǔn)秸{(diào)用的功能
print('每個(gè)值加3之后再乘以3'.ljust(20,'='))
print(pd.Series(range(5)).pipe(lambda x:x+3).pipe(lambda x:x*3),'\n')
print('每個(gè)值的平方對(duì)5的余數(shù)'.ljust(20,'='))
print(pd.Series(range(5)).pipe(lambda x,y,z:(x**y)%z,2,5),'\n')

# apply()方法用來(lái)對(duì)Series對(duì)象的值進(jìn)行函數(shù)運(yùn)算
print('每個(gè)值加3'.ljust(20,'='))
print(pd.Series(range(5)).apply(lambda x:x+3),'\n')

print('標(biāo)準(zhǔn)差、無(wú)偏方差、無(wú)偏標(biāo)準(zhǔn)差'.ljust(20,'='))
print(pd.Series(range(5)).std(),'\n')
print(pd.Series(range(5)).var(),'\n')
print(pd.Series(range(5)).sem(),'\n')

print('檢查是否存在等價(jià)于True的值'.ljust(20,'='))
print(any(pd.Series([3,0,True])),'\n')

print('查看是否所有值都等價(jià)于True'.ljust(20,'='))
print(all(pd.Series([3,0,True])))

2.時(shí)間序列與常用操作

使用pandas的date_range()函數(shù)生成時(shí)間序列對(duì)象:

date_range(start=None,end=None,periods=None,freq='D',tz=None,normalize=False,name=None,closed=None,**kwargs)
  • (1)start和end用來(lái)指定起止日期時(shí)間
  • (2)periods用來(lái)指定要生成的數(shù)據(jù)數(shù)量
  • (3)freq用來(lái)指定時(shí)間間隔,默認(rèn)為'D',表示相鄰兩個(gè)日期之間相差一天

總結(jié)

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

相關(guān)文章

最新評(píng)論