pandas基本数据处理
生活随笔
收集整理的這篇文章主要介紹了
pandas基本数据处理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
補充講解鏈接
pandas常用函數,個人常用的
1.重命名列名
#用rename函數對數據進行重命名 import pandas as pd df=pd.DataFrame(data=[['x1','張三',177,92,1.5,'2019/3/23'],['x2','李四',151,84,2.3,'2019/3/24']],columns=['學號','姓名','身高','語文成績','學分','日期']) df=df.rename(columns={'語文成績':'成績'}) print(df)2.增加列,刪除列
import pandas as pd df=pd.DataFrame(data=[['x1','張三',177,92,1.5,'2019/3/23'],['x2','李四',151,84,2.3,'2019/3/24']],columns=['學號','姓名','身高','語文成績','學分','日期']) #增加列 df['新列名']=[1,2] df['新列名1']=df['語文成績']*0.2#刪除列 df=df.drop(columns=['語文成績'])#方法1 del df['新列名'] #方法2print(df)3.子集選擇
import pandas as pd df=pd.DataFrame(data=[['x1','張三',177,92,1.5,'2019/3/23'],['x2','李四',151,84,2.3,'2019/3/24'],['x3','王五',167,80,3.2,'2019/3/25'],['x4','韓六',175,77,1.2,'2019/3/26'],['x5','趙七',153,87,1.6,'2019/3/27'] ],columns=['學號','姓名','身高','語文成績','學分','日期'])#子集選擇時,采用loc或ioc函數,loc讀取 的是索引 ,而iloc讀取的行數,相當于重新命名索引為 0,1,2... print('讀取索引范圍[2,4]的數據\n',df.loc[2:4]) print('選擇第2到第4行\(zhòng)n',df.iloc[1:4]) print('選擇身高>160且成績>80的數據,只要 姓名 學分 日期 \n',df.loc[(df['身高']>160) &(df['語文成績']>80),['姓名','學分','日期']]) print('選擇身高>160且成績>80的數據, \n',df.loc[(df['身高']>160) &(df['語文成績']>80)])4.排序
import pandas as pd df=pd.DataFrame(data=[['x1','張三',177,92,1.5,'2019/3/23'],['x2','李四',151,84,2.3,'2019/3/24'],['x3','王五',167,80,3.2,'2019/3/25'],['x4','韓六',175,77,1.2,'2019/3/26'],['x5','趙七',153,87,1.6,'2019/3/27'] ],columns=['學號','姓名','身高','語文成績','學分','日期'])#排序 ,根據語文成績排序,ascending=True 表示升序,False 表示降序 print(df.sort_values(by=['語文成績'],ascending=True))5.缺失值處理,缺失值處理一般使用fillna
import pandas as pd import numpy as np df=pd.DataFrame(data=[['x1','張三',177,92,1.5,'2019/3/23'],['x2','李四',151,84,2.3,'2019/3/24'],['x3','王五',167,80,3.2,'2019/3/25'],['x4','韓六',175,77,1.2,'2019/3/26'],['x5','趙七',153,87,1.6,'2019/3/27'] ],columns=['學號','姓名','身高','語文成績','學分','日期'])#缺失值處理 #先將張三的成績設為nan df.loc[(df['姓名']=='張三'),'語文成績']=np.NaN df['語文成績']=df['語文成績'].fillna(80) print(df)6.異常值處理
import pandas as pd import numpy as np df=pd.DataFrame(data=[['x1','張三',177,92,1.5,'2019/3/23'],['x2','李四',151,84,2.3,'2019/3/24'],['x3','王五',167,80,3.2,'2019/3/25'],['x4','韓六',175,77,1.2,'2019/3/26'],['x5','趙七',153,87,1.6,'2019/3/27'] ],columns=['學號','姓名','身高','語文成績','學分','日期'])#異常值處理 #將大于 "均值+2倍標準差“ 認為是異常值,用"均值+2倍標準差”替代 abnormal=df['語文成績'].mean()+2*df['語文成績'].std() df.loc[df['語文成績']>abnormal,'語文成績']=abnormal print(df)7.分組統(tǒng)計
pandas的分組統(tǒng)計使用groupby函數參數as_index=False 表示統(tǒng)計后返回DataFrame類型的結果,否則返回Series類型的統(tǒng)計結果
8.apply
對于apply函數,其作用是對目標集合中的每個元素執(zhí)行相同的操作
作者:電氣 余登武…
總結
以上是生活随笔為你收集整理的pandas基本数据处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于组合遗传粒子群算法的旅行商问题求解
- 下一篇: nlp中文文本摘要提取,快速提取文本主要