Pandas使用一個二維的數(shù)據(jù)結(jié)構(gòu)DataFrame來表示表格式的數(shù)據(jù)
DataFrame有四個重要的屬性:
index:行索引。
columns:列索引。
values:值的二維數(shù)組。
name:名字
data = pd.DataFrame(rec, columns = [u"姓名",u"業(yè)績" ])
DataFrame方法函數(shù)的第一個參數(shù)是數(shù)據(jù)源,第二個參數(shù)columns是輸出數(shù)據(jù)表的表頭,或者說是表格的字段名
DataFrame(sequence),通過序列構(gòu)建,序列中的每個元素是一個字典
data.groupby([u'業(yè)績']).sum() 以業(yè)務為分組統(tǒng)計某一列的總和size():就是count sum():分組求和
導出數(shù)據(jù)csvdata.to_csv(u"D:\scripts\learn\Result.csv", index= True, header=[u'雇員', u'銷售業(yè)績'], encoding="utf_8_sig")
解決保存csv文件后,中文亂碼問題。encoding="utf_8_sig"
Sorted = data.sort_values([u"業(yè)績"], ascending=False) 以某列進行排序,然后取前幾的值 Sorted.head(3)
pd.read_csv('f:\1024.csv') 讀取CSV文件
print df.head() 讀取前幾行數(shù)據(jù),默認5
print df.dtypes 讀物數(shù)據(jù)類型
print df.describe(include='all') 讀取統(tǒng)計信息
print df.columns 打印出列的信息
print df.index 打印出行的索引信息
print df.T 行列互置
print df.ix[:, 0].head() ix[行,列] 讀取指定的行列數(shù)據(jù), head() 默認讀取前5行
df.drop(df.columns[[1, 2]], axis = 1).head() 刪除指定的列
bric = pd.read_excel('/usr/test.xlsx') 處理xlsx文件
print bric.loc['Br'] #讀取行用函數(shù).loc,但顯示是以列顯示的
#顯示'Br'這行的'language'的值有下面幾種方法:
1.一起選擇
print bric.loc['Br','language']
2.取列再取行
print bric['language'].loc['Br']
3.取行再取列
print bric.loc['Br']['language']
4.值就直接['列名']
print bric['language']
插入列:直接bric['要插入的列名']=[要插入的列表數(shù)據(jù)] ric['aa']=['123','kk','123','mm']
#插入行:bric.loc['Afric']=[25,20,'english','aa']
數(shù)據(jù)清洗
loandata=pd.DataFrame(pd.read_excel('loandata.xlsx'))
1.數(shù)據(jù)表中的重復值
loandata.duplicated() 判斷重復值
loandata.drop_duplicates() 刪除重復值
2.數(shù)據(jù)表中的空值/缺失值
loandata.isnull() 空值 loandata['列名'].isnull().value_counts() #統(tǒng)計某個列的非空值數(shù)量
loandata.notnull() 非空值
空值有兩種處理的方法,第一種是使用fillna函數(shù)對空值進行填充,可以選擇填充0值或者其他任意值。第二種方法是使用dropna函數(shù)直接將包含空值的數(shù)據(jù)刪除
loandata.fillna(0) 填充空值
loandata.dropna() 刪除空值
3.數(shù)據(jù)間的空格
loandata['term']=loandata['term'].map(str.strip) 利用strip 進行清查數(shù)據(jù)間的空格
loandata['term']=loandata['term'].map(str.upper) 大寫
loandata['term']=loandata['term'].map(str.lower) 小寫
loandata['term']=loandata['term'].map(str.title) 首字母大寫
loandata['emp_length'].apply(lambda x: x. isalnum ())判斷是否是數(shù)字
loandata['emp_length'].apply(lambda x: x. isdigit ())
loandata['emp_length'].apply(lambda x: x.isalpha())
4更改數(shù)據(jù)格式
loandata['loan_amnt']=loandata['loan_amnt'].astype(np.int64)
6.數(shù)據(jù)分組
bins = [0, 5, 10, 15, 20]
group_names = ['A', 'B', 'C', 'D']
loandata['categories'] = pd.cut(loandata['open_acc'], bins, labels=group_names)
對某一列的值進行等級分類
7.數(shù)據(jù)分列
grade_split = pd.DataFrame((x.split('-') for x in loandata.grade),index=loandata.index,columns=['grade','sub_grade']) 指定分列的數(shù)據(jù)行所有保持不變
loandata=pd.merge(loandata,grade_split,right_index=True, left_index=True) 合并數(shù)據(jù)
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
分享標題:pythonpandas學習筆記-創(chuàng)新互聯(lián)
網(wǎng)頁鏈接:http://muchs.cn/article40/dooeeo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供服務器托管、面包屑導航、軟件開發(fā)、企業(yè)建站、網(wǎng)站排名、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容