日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python筛选数据求均值_Python Pandas实现数据分组求平均值并填充nan的示例

發布時間:2025/3/15 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python筛选数据求均值_Python Pandas实现数据分组求平均值并填充nan的示例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python實現按某一列關鍵字分組,并計算各列的平均值,并用該值填充該分類該列的nan值。

DataFrame數據格式

fillna方式實現

groupby方式實現

DataFrame數據格式

以下是數據存儲形式:

fillna方式實現

1、按照industryName1列,篩選出業績

2、篩選出相同行業的Series

3、計算平均值mean,采用fillna函數填充

4、append到新DataFrame中

5、循環遍歷行業名稱,完成2,3,4步驟

factordatafillna = pd.DataFrame()

industrys = newfactordata1.industryName1.unique()

for ind in industrys:

t = newfactordata1.industryName1 == ind

a = newfactordata1[t].fillna(newfactordata1[t].mean())

factordatafillna = factordatafillna.append(a)

groupby方式實現

采用groupby計算,詳細見代碼注釋

df = pd.DataFrame({'code':[1,2,3,4,5,6,7,8],

'value':[np.nan,5,7,8,9,10,11,12],

'value2':[5,np.nan,7,np.nan,9,10,11,12],

'indstry':['農業1','農業1','農業1','農業2','農業2','農業4','農業2','農業3']},

columns=['code','value','value2','indstry'],

index=list('ABCDEFGH'))

# 只留下需要處理的列

cols = [col for col in df.columns if col not in['code','indstry']]

# 分組的列

gp_col = 'indstry'

# 查詢nan的列

df_na = df[cols].isna()

# 根據分組計算平均值

df_mean = df.groupby(gp_col)[cols].mean()

print(df)

# 依次處理每一列

for col in cols:

na_series = df_na[col]

names = list(df.loc[na_series,gp_col])

t = df_mean.loc[names,col]

t.index = df.loc[na_series,col].index

# 相同的index進行賦值

df.loc[na_series,col] = t

print(df)

code value value2 indstry

A 1 NaN 5.0 農業1

B 2 5.0 NaN 農業1

C 3 7.0 7.0 農業1

D 4 8.0 NaN 農業2

E 5 9.0 9.0 農業2

F 6 10.0 10.0 農業4

G 7 11.0 11.0 農業2

H 8 12.0 12.0 農業3

code value value2 indstry

A 1 6.0 5.0 農業1

B 2 5.0 6.0 農業1

C 3 7.0 7.0 農業1

D 4 8.0 10.0 農業2

E 5 9.0 9.0 農業2

F 6 10.0 10.0 農業4

G 7 11.0 11.0 農業2

H 8 12.0 12.0 農業3

以上這篇Python Pandas實現數據分組求平均值并填充nan的示例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

總結

以上是生活随笔為你收集整理的python筛选数据求均值_Python Pandas实现数据分组求平均值并填充nan的示例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。