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

Pandas中DataFrame的分組/分割/合并的實(shí)現(xiàn)

 更新時(shí)間:2019年07月16日 14:50:44   作者:劉知昊  
這篇文章主要介紹了Pandas中DataFrame的分組/分割/合并的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

學(xué)習(xí)《Python3爬蟲(chóng)、數(shù)據(jù)清洗與可視化實(shí)戰(zhàn)》時(shí)自己的一些實(shí)踐。

DataFrame分組操作

注意分組后得到的就是Series對(duì)象了,而不再是DataFrame對(duì)象。

import pandas as pd

# 還是讀取這份文件
df = pd.read_csv("E:/Data/practice/taobao_data.csv", delimiter=',', encoding='utf-8', header=0)

# 計(jì)算'成交量'按'位置'分組的平均值
grouped1 = df['成交量'].groupby(df['位置']).mean()
# print(grouped1)

在這里插入圖片描述

# 計(jì)算'成交量'先按'位置'再按'賣(mài)家'分組后的平均值
grouped2 = df['成交量'].groupby([df['位置'], df['賣(mài)家']]).mean()
# print(grouped2)

在這里插入圖片描述

# 計(jì)算先按'位置'再按'賣(mài)家'分組后的所有指標(biāo)(如果可以計(jì)算平均值)的平均值
grouped3 = df.groupby([df['位置'], df['賣(mài)家']]).mean()
# print(grouped3)

在這里插入圖片描述

DataFrame數(shù)據(jù)分割和合并

這里其實(shí)可以操作得很復(fù)雜,這里是一些比較基本的用法。

import pandas as pd

# 還是讀取這份文件
df = pd.read_csv("E:/Data/practice/taobao_data.csv", delimiter=',', encoding='utf-8', header=0)
# 計(jì)算銷(xiāo)售額
df['銷(xiāo)售額'] = df['價(jià)格'] * df['成交量']

# (1)前面學(xué)了ix,loc,iloc,這里是直接用[]運(yùn)算做分割
df1 = df[30:40][['位置', '賣(mài)家']]
# print(df1) # 從30號(hào)行到39號(hào)行
df2 = df[80:90][['賣(mài)家', '銷(xiāo)售額']]

在這里插入圖片描述

# (2)內(nèi)聯(lián)接操作(相當(dāng)于JOIN,INNER JOIN)
df3 = pd.merge(df1, df2) # 不指定列名,默認(rèn)選擇列名相同的'賣(mài)家'列
# print(df3)
df4 = pd.merge(df1, df2, on='賣(mài)家') # 指定按照'賣(mài)家'相同做聯(lián)接
# print(df4)

在這里插入圖片描述

# (3)全外聯(lián)接操作(相當(dāng)于FULL JOIN),沒(méi)有值的補(bǔ)NaN
df5 = pd.merge(df1, df2, how='outer')
# print(df5)

在這里插入圖片描述

# (4)左外聯(lián)接操作(相當(dāng)于LEFT JOIN),即左邊的都要,'銷(xiāo)售額'沒(méi)有就NaN
df6 = pd.merge(df1, df2, how='left')
# print(df6)

在這里插入圖片描述

# (5)右外聯(lián)接操作(相當(dāng)于RIGHT JOIN),即右邊的都要,'位置'沒(méi)有就NaN
df7 = pd.merge(df1, df2, how='right')
# print(df7)

在這里插入圖片描述

# (6)按索引相同做聯(lián)接
df_a = df[:10][['位置', '賣(mài)家']]
df_b = df[3:13][['價(jià)格', '成交量']]
df_c_1 = pd.merge(df_a, df_b, left_index=True, right_index=True) # 內(nèi)聯(lián)接
# print(df_c_1) # 只有從3到9的

在這里插入圖片描述

df_c_2 = df_a.join(df_b) # 左外聯(lián)接
# print(df_c_2) # 從0到10

在這里插入圖片描述

df_c_3 = df_b.join(df_a) # "右"外聯(lián)接(其實(shí)還是左外聯(lián)接,就是b在左邊a在右邊)
# print(df_c_3) # 從3到12

在這里插入圖片描述

# (7)軸向堆疊操作(上下堆疊時(shí)就相當(dāng)于UNION ALL,默認(rèn)不去重)
df8 = df[2:5][['價(jià)格']] # 注意這里只取一個(gè)列也要用[[]]
df9 = df[3:8][['銷(xiāo)售額', '寶貝']]
df10 = df[6:11][['賣(mài)家', '位置']]
# (7.1)默認(rèn)axis=0即上下堆疊,上下堆疊時(shí),堆疊順序和傳進(jìn)concat的順序一致,最終列=所有列數(shù)去重,缺失的補(bǔ)NaN
# 關(guān)于axis=0需要設(shè)置sort屬性的問(wèn)題,還沒(méi)查到有講這個(gè)的,這個(gè)問(wèn)題先留著...
df11 = pd.concat([df10, df9, df8], sort=False)
# print(df11)

在這里插入圖片描述

# (7.2)設(shè)置axis=1即左右堆疊,左右堆疊不允許索引重復(fù),相同索引的將被合并到一行
# 左右堆疊中,堆疊順序僅僅影響列的出現(xiàn)順序
# 這很好理解,畢竟不是從上到下"摞"在一起的,而是從左到右"卡"在一起的
df12 = pd.concat([df10, df9, df8], axis=1)
df13 = pd.concat([df8, df9, df10], axis=1)
# print(df12)
# print(df13)

在這里插入圖片描述

在這里插入圖片描述

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python for循環(huán)生成列表的實(shí)例

    Python for循環(huán)生成列表的實(shí)例

    今天小編就為大家分享一篇Python for循環(huán)生成列表的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • 利用Python提取圖片經(jīng)緯度并鎖定拍照地點(diǎn)

    利用Python提取圖片經(jīng)緯度并鎖定拍照地點(diǎn)

    每張照片的屬性中都會(huì)有一個(gè)經(jīng)緯度信息,本文將利用Python實(shí)現(xiàn)提取圖片的經(jīng)緯度,并鎖定拍照的低點(diǎn),感興趣的小伙伴可以跟隨小編一起動(dòng)手試一試
    2022-02-02
  • python計(jì)算日期之間的放假日期

    python計(jì)算日期之間的放假日期

    這篇文章主要為大家詳細(xì)介紹了python計(jì)算日期之間的放假日期,實(shí)現(xiàn)自動(dòng)查詢節(jié)日,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Python 語(yǔ)法錯(cuò)誤:"SyntaxError: invalid character in identifier"原因及解決方法

    Python 語(yǔ)法錯(cuò)誤:"SyntaxError: invalid charac

    本文給大家分享Python 語(yǔ)法錯(cuò)誤:“SyntaxError: invalid character in identifier“,原因及解決方法,文末給大家補(bǔ)充介紹了Python出現(xiàn)SyntaxError: invalid syntax的原因總結(jié),感興趣的朋友跟隨小編一起學(xué)習(xí)吧
    2023-02-02
  • ?cmd輸入python打開(kāi)微軟應(yīng)用商店的解決方法

    ?cmd輸入python打開(kāi)微軟應(yīng)用商店的解決方法

    在命令控制行中輸入python想使用Python環(huán)境,卻意外打開(kāi)了微軟自帶的應(yīng)用商店,十分苦惱,下面這篇文章主要給大家介紹了關(guān)于?cmd輸入python打開(kāi)微軟應(yīng)用商店的解決方法,需要的朋友可以參考下
    2024-03-03
  • python 如何執(zhí)行控制臺(tái)命令與操作剪切板

    python 如何執(zhí)行控制臺(tái)命令與操作剪切板

    這篇文章主要介紹了python 如何執(zhí)行控制臺(tái)命令與操作剪切板,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Python中seaborn庫(kù)之countplot的數(shù)據(jù)可視化使用

    Python中seaborn庫(kù)之countplot的數(shù)據(jù)可視化使用

    在Python數(shù)據(jù)可視化中,seaborn較好的提供了圖形的一些可視化功效。本文詳細(xì)的介紹了Python中seaborn庫(kù)之countplot的數(shù)據(jù)可視化使用,感興趣的可以了解一下
    2021-06-06
  • python scp 批量同步文件的實(shí)現(xiàn)方法

    python scp 批量同步文件的實(shí)現(xiàn)方法

    今天小編就為大家分享一篇python scp 批量同步文件的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • Python?設(shè)計(jì)模式行為型解釋器模式

    Python?設(shè)計(jì)模式行為型解釋器模式

    本文介紹了Python解釋器模式,解釋器模式即Interpreter?Pattern,給定一個(gè)語(yǔ)言,定義它的文法的一種表示,并定義一個(gè)解釋器,這個(gè)解釋器使用該表示來(lái)解釋語(yǔ)言中的句子,下面文章進(jìn)入更深層學(xué)習(xí),需要的小伙伴可以參考一下
    2022-02-02
  • matplotlib quiver箭圖繪制案例

    matplotlib quiver箭圖繪制案例

    這篇文章主要介紹了matplotlib quiver箭圖繪制案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04

最新評(píng)論