pandas如何靈活增加新的空字段
pandas靈活增加新的空字段
先說需求
從mongodb中讀取數(shù)據(jù)的某些字段(如A,B,C,D),如果數(shù)據(jù)沒有某個(gè)字段(如‘D’字段),就增加該字段且值為空
解決方法
import pandas as pd
import numpy as np
a=np.array([[1,2,3],[4,5,6],[7,8,9]])
df1=pd.DataFrame(a,index=['row0','row1','row2'],columns=list('ABC'))
df1df1結(jié)果:

創(chuàng)建空的且有指定字段的dataframe
df2 = pd.DataFrame(columns=['A','B','C','D'])
再通過pd.concat方法連接
pd.concat([df2,df1])
最后的結(jié)果如下:

Python pandas數(shù)據(jù)清洗,按條件賦值空字段
Python pandas按條件賦值空字段
找到空值,并查看空值的有關(guān)規(guī)律
旅游數(shù)據(jù)中節(jié)省字段部分為空,考慮使用目的地的均值賦值給對(duì)應(yīng)的空值;有北京到西安的旅程的節(jié)省為空,過程中需要:
1、找到節(jié)省字段為空的行列:
import numpy as np import pandas as pd data[data['節(jié)省'].isnull()]
2、提取其中的目的地:
data.loc[data['節(jié)省'].isnull(),['目的地']]
3、各個(gè)目的地及出發(fā)地的均值:
round(data.groupby(['目的地','出發(fā)地'])['節(jié)省'].mean())
使用fillna函數(shù)解決問題:
1、建立一個(gè)新的DataFrame用以裝入更新后數(shù)據(jù)
2、獲得目的地情況
3、賦值目的地均值到目的地空值
4、將處理后數(shù)據(jù)丟進(jìn)新的DataFrame
5、將2-4步驟進(jìn)行循環(huán)
datafillna = pd.DataFrame() place = data.目的地.unique() for pla in place: ? ? t = data.目的地 == pla ? ? print(t) ? ? a = data[t].fillna(data[t].mean()) ? ? print(a) ? ? datafillna = datafillna.append(a) ? ? break
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python調(diào)用C語言的方法【基于ctypes模塊】
這篇文章主要介紹了Python調(diào)用C語言的方法,涉及Python基于ctypes模塊調(diào)用C語言編譯后的動(dòng)態(tài)鏈接庫(kù)文件相關(guān)操作技巧,需要的朋友可以參考下2018-01-01
python實(shí)現(xiàn)簡(jiǎn)單通訊錄管理系統(tǒng)
Python+Plotly繪制精美的數(shù)據(jù)分析圖
Python socket如何實(shí)現(xiàn)服務(wù)端和客戶端數(shù)據(jù)傳輸(TCP)
react+django清除瀏覽器緩存的幾種方法小結(jié)
Python實(shí)現(xiàn)將JSON格式文件導(dǎo)入redis
使用python和Django完成博客數(shù)據(jù)庫(kù)的遷移方法

