91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

分享10個Pandas在實際應(yīng)用中肯定會用到的技巧

數(shù)據(jù)分析與開發(fā) ? 來源:機器之心 ? 作者:機器之心 ? 2022-11-21 14:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群


	

pandas是數(shù)據(jù)科學(xué)家必備的數(shù)據(jù)處理庫,我們今天總結(jié)了10個在實際應(yīng)用中肯定會用到的技巧。

1、Select from table where f1=’a’ and f2=’b’

使用AND或OR選擇子集:

dfb=df.loc[(df.Week==week)&(df.Day==day)]
OR的話是這樣dfb=df.loc[(df.Week==week)|(df.Day==day)]

2、Select where in

從一個df中選擇一個包含在另外一個df的數(shù)據(jù),例如下面的sql

select*fromtable1wherefield1in(selectfield1fromtable2)

我們有一個名為“days”的df,它包含以下值。

3bcecdd4-6955-11ed-8abf-dac502259ad0.png

如果有第二個df:

3be44466-6955-11ed-8abf-dac502259ad0.png

可以直接用下面的方式獲取

days=[0,1,2]
df[df(days)]

3、Select where not in

就像IN一樣,我們肯定也要選擇NOT IN,這個可能是更加常用的一個需求,但是卻很少有文章提到,還是使用上面的數(shù)據(jù):

days=[0,1,2]
df[~df(days)]

使用~操作符就可以了

3bfd4f4c-6955-11ed-8abf-dac502259ad0.png

4、select sum(*) from table group by

分組統(tǒng)計和求和也是常見的操作,但是使用起來并不簡單:

df(by=['RepID','Week','CallCycleDay']).sum()

如果想保存結(jié)果或稍后使用它們并引用這些字段,請?zhí)砑?as_index=False

df.groupby(by=['RepID','Week','CallCycleDay'],as_index=False).sum()

3c14cc94-6955-11ed-8abf-dac502259ad0.png

使用as_index= false,可以表的形式保存列

5、從一個表更另外一個表的字段

我們從一個df中更改了一些值,現(xiàn)在想要更新另外一個df,這個操作就很有用。

dfb=dfa[dfa.field1='somevalue'].copy()
dfb['field2']='somevalue'
dfa.update(dfb)

這里的更新是通過索引匹配的。

6、使用apply/lambda創(chuàng)建新字段

我們創(chuàng)建了一個名為address的新字段,它是幾個字段進行拼接的。

dfa['address']=dfa.apply(lambdarow:row['StreetName']+','+
row['Suburb']+','+str(row['PostalCode']),axis=1)

7、插入新行

插入新數(shù)據(jù)的最佳方法是使用concat。我們可以用有pd. datafframe .from_records一將新行轉(zhuǎn)換為df。

newRow=row.copy()
newRow.CustomerID=str(newRow.CustomerID)+'-'+str(x)
newRow.duplicate=True
df=pd.concat([df,pd.DataFrame.from_records([newRow])])

8、更改列的類型

可以使用astype函數(shù)將其快速更改列的數(shù)據(jù)類型

df=pd.read_excel(customers_.xlsx')
df['Longitude']=df['Longitude'].astype(str)
df['Latitude']=df['Longitude'].astype(str)

9、刪除列

使用drop可以刪除列:

defcleanColumns(df):
forcolindf.columns:
ifcol[0:7]=="Unnamed":
df.drop(col,inplace=True,axis=1)
returndf

10、地圖上標注點

這個可能是最沒用的技巧,但是他很好玩

這里我們有一些經(jīng)緯度的數(shù)據(jù):

3c37a2b4-6955-11ed-8abf-dac502259ad0.png

現(xiàn)在我們把它根據(jù)經(jīng)緯度在地圖上進行標注:

df_clustercentroids=pd.read_csv(centroidFile)
lst_elements=sorted(list(dfm.cluster2.unique()))
lst_colors=['#%06X'%np.random.randint(0,0xFFFFFF)foriinrange(len(lst_elements))]
dfm["color"]=dfm["cluster2"]
dfm["color"]=dfm["color"].apply(lambdax:lst_colors[lst_elements.index(x)])

m=folium.Map(location=[dfm.iloc[0].Latitude,dfm.iloc[0].Longitude],zoom_start=9)

forindex,rowindfm.iterrows():
folium.CircleMarker(location=[float(row['Latitude']),float(row['Longitude'])],radius=4,popup=str(row['RepID'])+'|'+str(row.CustomerID),color=row['color'],fill=True,fill_color=row['color']
).add_to(m)

forindex,rowindf_clustercentroids.iterrows():
folium.Marker(location=[float(row['Latitude']),float(row['Longitude'])],popup=str(index)+'|#='+str(dfm.loc[dfm.cluster2==index].groupby(['cluster2'])['CustomerID'].count().iloc[0]),icon=folium.Icon(color='black',icon_color=lst_colors[index]),tooltip=str(index)+'|#='+str(dfm.loc[dfm.cluster2==index].groupby(['cluster2'])['CustomerID'].count().iloc[0])).add_to(m)

m

結(jié)果如下:

3c62f5cc-6955-11ed-8abf-dac502259ad0.png

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7337

    瀏覽量

    94814
  • SQL
    SQL
    +關(guān)注

    關(guān)注

    1

    文章

    790

    瀏覽量

    46725

原文標題:分享 10 個 Pandas 的小技巧!

文章出處:【微信號:DBDevs,微信公眾號:數(shù)據(jù)分析與開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    使用變頻調(diào)速方案的10理由

    工業(yè)自動化領(lǐng)域,變頻調(diào)速技術(shù)已成為電機控制的核心解決方案。隨著電力電子技術(shù)和微處理器技術(shù)的進步,變頻器節(jié)能降耗、工藝優(yōu)化和設(shè)備保護等方面展現(xiàn)出顯著優(yōu)勢。以下是采用變頻調(diào)速方案的10
    的頭像 發(fā)表于 01-29 07:41 ?437次閱讀
    使用變頻調(diào)速方案的<b class='flag-5'>10</b><b class='flag-5'>個</b>理由

    ODX診斷數(shù)據(jù)的質(zhì)量基石ODX Checker Rules詳解

    汽車診斷數(shù)據(jù)標準化的今天,診斷數(shù)據(jù)庫在車輛生命周期的不同階段扮演著重要的角色。例如:代碼開發(fā)階段,會用到符合AUTOSAR標準的ARXML文件; 控制器數(shù)據(jù)庫開發(fā)階段,
    的頭像 發(fā)表于 01-08 11:28 ?437次閱讀

    工業(yè)領(lǐng)域為什么會用到HTTP協(xié)議

    工業(yè)領(lǐng)域使用HTTP協(xié)議主要源于其 通用性、易用性、擴展性 以及與現(xiàn)代工業(yè)系統(tǒng)集成需求的契合,盡管工業(yè)環(huán)境對實時性、可靠性的要求較高,但HTTP特定場景下仍能發(fā)揮關(guān)鍵作用。以下是具體原因分析
    的頭像 發(fā)表于 12-27 09:38 ?157次閱讀

    選擇10kVA不間斷電源前,必須搞懂的5參數(shù)與3大應(yīng)用場景

    標識時,一常見誤解是認為它可以承載10千瓦的有功負載。實際上,kVA(千伏安)與kW(千瓦)之間的轉(zhuǎn)換取決于一關(guān)鍵參數(shù):輸出功率因數(shù)。
    的頭像 發(fā)表于 12-11 11:01 ?1012次閱讀
    選擇<b class='flag-5'>10</b>kVA不間斷電源前,必須搞懂的5<b class='flag-5'>個</b>參數(shù)與3大應(yīng)用場景

    CANdelaStudio中如何修改肯定響應(yīng)抑制位

    首先打開cddt文件,點擊ProtocolServices,找到對應(yīng)的診斷服務(wù),如19服務(wù);2、然后右擊選擇Properties;3、最后點擊右側(cè)手指的圖標,修改對應(yīng)尋址方式下的肯定響應(yīng)抑制位置1或者置0,保存即可。
    的頭像 發(fā)表于 12-02 10:27 ?389次閱讀
    <b class='flag-5'>在</b>CANdelaStudio中如何修改<b class='flag-5'>肯定</b>響應(yīng)抑制位

    為什么電能表中的初級變壓器保護會用到PTC熱敏電阻?

    電表(無論是家用智能電表還是工業(yè)電表)之所以會用到PTC熱敏電阻,正是因為它完美契合了電表對可靠性、安全性和免維護的極高要求。 保護通訊接口(最核心的應(yīng)用) 現(xiàn)代電表(尤其是智能電表)都具備數(shù)據(jù)遠程
    發(fā)表于 11-27 14:29

    哪些場合會用到volatile關(guān)鍵字?

    當(dāng)你理解 volatile關(guān)鍵字的含義之后,你就能明白,其實很多場合都能用到 volatile關(guān)鍵字。 1.全局變量單片機開發(fā),難免會用到全局變量。一些初級工程師,更是全局變量滿天飛。這種情況下
    發(fā)表于 11-25 08:19

    哪些電子產(chǎn)品會用到貼片Y電容?

    貼片Y電容,又稱為表面貼裝Y電容,外觀通常為扁平的矩形,是一種特殊的電容器類型。由于其獨特的性能優(yōu)勢用于許多電子產(chǎn)品。哪些電子產(chǎn)品會用到貼片Y電容呢?
    的頭像 發(fā)表于 11-13 11:05 ?508次閱讀
    哪些電子產(chǎn)品<b class='flag-5'>會用到</b>貼片Y電容?

    監(jiān)測氣象會用到哪些傳感器

    監(jiān)測氣象需要使用多種傳感器來精確測量不同氣象要素,這些傳感器基于物理、化學(xué)或電子原理,能夠?qū)崟r、連續(xù)地采集數(shù)據(jù)。以下是監(jiān)測氣象時常用的傳感器類型及其功能: 1. 溫度傳感器 功能 :測量空氣、土壤或水體的溫度。 類型 : 熱敏電阻 :通過電阻值隨溫度變化的特性測量溫度。 熱電偶 :利用兩種金屬的溫差產(chǎn)生電動勢來測量溫度。 紅外傳感器 :非接觸式測量,通過物體輻射的紅外線強度推算溫度。 應(yīng)用 :氣象站、農(nóng)業(yè)溫室、工業(yè)過程控
    的頭像 發(fā)表于 09-16 09:57 ?1148次閱讀

    【中科昊芯Core_DSC280025C開發(fā)板試用體驗】+3.DSP基礎(chǔ)外設(shè)調(diào)試(含源碼)

    的文件。 至于中斷函數(shù)中,肯定會涉及到一些業(yè)務(wù)邏輯相關(guān)數(shù)據(jù)和功能函數(shù),所以,我增加了回調(diào)函數(shù)機制(這個是參考ST的Hal庫機制) 這樣的好處是,工程文件不會交叉調(diào)用,看起來沒有那么亂糟糟的。當(dāng)然,這只
    發(fā)表于 07-13 16:07

    工業(yè)物聯(lián)網(wǎng)網(wǎng)關(guān)會用到哪些電子模組

    工業(yè)物聯(lián)網(wǎng)網(wǎng)關(guān)通常會用到通信模組、主控模組、安全模組、接口擴展模組和電源管理模組等,以下是具體介紹: 通信模組:用于實現(xiàn)網(wǎng)關(guān)與外部網(wǎng)絡(luò)或設(shè)備的通信連接。常見的有5G/4G模組,如華為MH5000、移
    的頭像 發(fā)表于 07-11 17:56 ?984次閱讀

    工業(yè)RTU會用到哪些芯片

    工業(yè)RTU(遠程終端單元)通常會用到處理器芯片、通信芯片、數(shù)據(jù)采集芯片、存儲芯片和電源管理芯片等。
    的頭像 發(fā)表于 07-05 09:15 ?765次閱讀

    工業(yè)網(wǎng)關(guān)會用到哪些芯片

    工業(yè)網(wǎng)關(guān)通常會集成多種芯片以滿足其復(fù)雜的功能需求,具體可能會用到以下幾類芯片: 處理器芯片:這是工業(yè)網(wǎng)關(guān)的核心部件,負責(zé)執(zhí)行控制指令、數(shù)據(jù)處理以及運行操作系統(tǒng)等任務(wù)??赡軙捎酶咝阅艿腁RM架構(gòu)
    的頭像 發(fā)表于 07-03 17:26 ?756次閱讀

    HTTP協(xié)議工業(yè)領(lǐng)域會用到

    HTTP協(xié)議工業(yè)領(lǐng)域會用到,并且工業(yè)互聯(lián)網(wǎng)、設(shè)備管理、數(shù)據(jù)交互等多個方面發(fā)揮著重要作用,以下為你詳細介紹: 工業(yè)互聯(lián)網(wǎng)場景 設(shè)備接入與管理 原理:工業(yè)互聯(lián)網(wǎng)平臺中,各類工業(yè)設(shè)備(
    的頭像 發(fā)表于 06-03 09:17 ?688次閱讀

    實際硬件設(shè)計中非常經(jīng)典巧妙的20電路合集,帶分析,收藏起來慢慢看!

    1、防反接保護(二極管)實際電子設(shè)計中,防反接保護電路非常重要,不要覺得自己肯定不會接錯,實際上無論多么小心,還是會犯錯誤......最簡單的就是利用二極管了,利用二極管的單向?qū)щ娦?/div>
    發(fā)表于 03-24 13:49