九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
Python3:Pandas中DataFrame的分組/分割/合并

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ì)算'成交量'先按'位置'再按'賣家'分組后的平均值grouped2 = df['成交量'].groupby([df['位置'], df['賣家']]).mean()# print(grouped2)

# 計(jì)算先按'位置'再按'賣家'分組后的所有指標(biāo)(如果可以計(jì)算平均值)的平均值grouped3 = df.groupby([df['位置'], df['賣家']]).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ì)算銷售額df['銷售額'] = df['價(jià)格'] * df['成交量']# (1)前面學(xué)了ix,loc,iloc,這里是直接用[]運(yùn)算做分割df1 = df[30:40][['位置', '賣家']]# print(df1)  # 從30號(hào)行到39號(hào)行df2 = df[80:90][['賣家', '銷售額']]

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

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

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

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

# (6)按索引相同做聯(lián)接df_a = df[:10][['位置', '賣家']]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][['銷售額', '寶貝']]df10 = df[6:11][['賣家', '位置']]# (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)


本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Pandas DataFrame連接表,幾種連接方法的對(duì)比
Pandas學(xué)習(xí)筆記(DataFrame基本操作)
玩轉(zhuǎn)Python金融量化利器之Pandas
教你如何用50道練習(xí)打通Pandas
Python數(shù)據(jù)分析——Pandas數(shù)據(jù)結(jié)構(gòu)和操作
《利用python進(jìn)行數(shù)據(jù)分析》讀書(shū)筆記
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服