衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

分享10個Pandas在實際應用中肯定會用到的技巧

數據分析與開發 ? 來源:機器之心 ? 作者:機器之心 ? 2022-11-21 14:44 ? 次閱讀

	

pandas是數據科學家必備的數據處理庫,我們今天總結了10個在實際應用中肯定會用到的技巧。

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的數據,例如下面的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,這個可能是更加常用的一個需求,但是卻很少有文章提到,還是使用上面的數據:

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

使用~操作符就可以了

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

4、select sum(*) from table group by

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

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

如果想保存結果或稍后使用它們并引用這些字段,請添加 as_index=False

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

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

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

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

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

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

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

6、使用apply/lambda創建新字段

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

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

7、插入新行

插入新數據的最佳方法是使用concat。我們可以用有pd. datafframe .from_records一將新行轉換為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函數將其快速更改列的數據類型

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、地圖上標注點

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

這里我們有一些經緯度的數據:

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

現在我們把它根據經緯度在地圖上進行標注:

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

結果如下:

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

審核編輯 :李倩


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據
    +關注

    關注

    8

    文章

    7145

    瀏覽量

    89585
  • SQL
    SQL
    +關注

    關注

    1

    文章

    775

    瀏覽量

    44254

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

文章出處:【微信號:DBDevs,微信公眾號:數據分析與開發】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    如何通過仿真準確的預測信號完整性

    ,我們就可以計算得到信號的帶寬。一般來說芯片廠家提供的仿真模型無論是IBIS還是Spice模型都是很信號帶寬相匹配的。比如說一器件的IBIS模型中肯定不會包含serdes信號的模型,如果器件中有serdes接口廠家肯定會提供S
    的頭像 發表于 01-22 11:51 ?1310次閱讀
    如何通過仿真準確的預測信號完整性

    對于PD信號,是要用到數字GND,還是模擬GND比較好?

    對于ADC芯片,數字信號模擬信號都會用到各自的GND(數字GND/模擬GND) 那么對于PD(Power down)信號,是要用到數字GND,還是模擬GND比較好?
    發表于 01-16 07:48

    LabVIEW抽象消息使用教程(上)

    自學LabVIEW的Actor FrameWork的消息與抽象消息的時候肯定會覺得非常模糊。小編將給大家帶來一有關抽象消息的教程,分為上下兩期,本期將帶領大家創建Actor中的方法并為方法創建對應的消息。
    的頭像 發表于 01-03 14:22 ?283次閱讀
    LabVIEW抽象消息使用教程(上)

    淺析射頻無線遙控器定制的意義——射頻肯定會取代紅外

    定制再多的產品,也不會有重碼問題。另一方面,各設備廠商之間可以達成配對協議,設計一遙控器可以配對多臺設備的功能,這樣既可以節省資源浪費,也方便人們的換裝。
    的頭像 發表于 12-10 10:33 ?303次閱讀
    淺析射頻無線遙控器定制的意義——射頻<b class='flag-5'>肯定會</b>取代紅外

    ADS114S06 Demo代碼中找不到頭文件是怎么回事?

    ADS114S06提供的Demo軟件中沒有找到相應的頭文件,搜索也是搜索不到相應的頭文件的,一個個文件里面看也沒有找到。我準備要移植到項目里面了,但是這些沒有頭文件,沒有定義的宏,肯定會報錯的。能否幫忙提供一下支持。謝謝。
    發表于 11-28 06:41

    RAPIDS cuDF將pandas提速近150倍

    NVIDIA GTC 2024 上,NVIDIA 宣布,RAPIDS cuDF 當前已能夠為 950 萬 pandas 用戶帶來 GPU 加速,且無需修改代碼。
    的頭像 發表于 11-20 09:52 ?297次閱讀
    RAPIDS cuDF將<b class='flag-5'>pandas</b>提速近150倍

    使用TLV3501做了一單限比較器,可以使用到10MHZ,但是實際使用時卻達不到,為什么?

    目前使用TLV3501做了一單限比較器,比較閾值為1V,仿真正常,可以使用到10MHZ,但是實際使用時卻達不到,只能用1Mhz左右, 仿真圖如下: 請問
    發表于 08-29 07:23

    功放芯片中說的失真10%實際應用中怎么衡量?

    功放芯片中說的失真10%實際應用中怎么衡量
    發表于 08-14 06:03

    OPA552很容易損壞是怎么回事?

    您好!板子上有16路OPA552做直流電源輸出電路,輸出電壓范圍-10V~+30V,V+=32V,V-=-15V,實際使用中沒有什么問題,但是OPA552經常會損壞,不是超過功率損壞,16路中
    發表于 08-01 06:31

    請問ESP-AT在編譯過程中會用到哪些源文件?

    如題,請問ESP-AT在編譯過程中會用到哪些源文件?要修改藍牙相關的代碼應該修該哪些呢?有通透的大神指點一下嗎?謝謝!
    發表于 06-27 06:59

    stm32wb55cgu6用BLE_HeartRate例程,連接一會就自動斷開的原因?

    沁恒的藍牙調試助手和st的st ble toolbox都是這樣 斷開時間不固定,但都沒幾分鐘肯定會斷開。。 并且斷開后功耗也會增加兩ma,過30秒會恢復待機狀態,這邊做的最小系統板, 還有另外一問題,藍牙棧兼容ac6嗎,我使
    發表于 05-24 08:29

    晉力達分享:回流焊設備購買需要注意的事項

    確認設備的控制方式:電腦+PLC控制下的回流焊,控溫精度高,操作方便,具有記憶功能,適合產品品種也比較多,焊接工藝要求嚴格的產品。缺點,價錢肯定會是比較高的。
    的頭像 發表于 05-17 14:51 ?282次閱讀
    晉力達分享:回流焊設備購買需要注意的事項

    應用中需要用到ST32的觸摸遇到的疑問求解

    應用中需要用到ST32的觸摸,現在遇到問題,向大家求助,謝謝! 1、htsc.Init.ChannelIOs這個配置是指我們用手觸摸的那個管腳吧? 我理解是手觸摸的端口,且可以接多個觸摸端口
    發表于 04-23 07:16

    你一定會用到的紐扣電池選型方案

    一、RTC備用電池選型注意事項RTC是一種用于提供系統時間的獨立定時器,它可以系統斷電或低功耗模式下繼續運行,只需要一后備電池作為供電源。嵌入式系統中,選擇合適的RTC電池時非常關鍵的,它會
    的頭像 發表于 03-05 08:13 ?1559次閱讀
    你一<b class='flag-5'>定會用到</b>的紐扣電池選型方案
    黎城县| 百家乐永利娱乐网| 百家乐翻天qvod| 百家乐庄闲几率| 风水24山里的四维八干| 波音百家乐网上娱乐| 电子百家乐作假| 顶级赌场 官方直营网络赌场| 屏东县| 百家乐官网出千方法技巧| 星期8百家乐官网娱乐城| 百家乐巴厘岛上海在线| 鼎尚百家乐的玩法技巧和规则| 大赢家即时比分网| 百家乐官网策略与心得| 百家乐官网破解软件真的有用吗 | 合法赌博网站| 百家乐官网马宝| 使用的百家乐官网软件| 百家乐庄闲的冷热| 大发888游戏平台 官方| 网上百家乐官网骗人的| 百家乐官网室系统软件| 百家乐官网百家乐官网技巧| 喜力百家乐的玩法技巧和规则| 网上真钱麻将游戏| 金杯百家乐官网的玩法技巧和规则| 五星百家乐的玩法技巧和规则| 宁乡县| 百家乐官网筹码片| 大发888冲值| 蓝盾百家乐官网赌场| 百家乐平注7s88| 新濠娱乐城| 洛克百家乐官网的玩法技巧和规则| 全讯网开奖| 百家乐官网最好投注| 百家乐投注技巧球讯网| 八大胜娱乐场| 百家乐官网策略介绍| 大发888明星婚讯|