#會用到的包
import pandas
import numpy
import datetime12
3#排序
#方法1.
a=data.sort() #將data中的值按生序排列可用於series,不可用於dataframe:'dataframe' object has no attribute 'sort'。
#方法2
a=data.sort_values(by='date',axis=0,ascending=true) #將data上的每一行按date列上值的大小由小到大排列。
a=data.sort_values('date',axis=0,ascending=true) #by=也可以省略。
#方法3
a=data.sort_index(axis=0,ascending=true,by='date') #作用同前。
a=data.sort_index(axis=0,ascending=true,'date') #作用同前
#方法4
a=data[::-1] #將資料按索引倒置,簡單,推薦。
#排名a=data.rank(axis=0,ascending=false) #返回每一列上的值的排名,ascending=false表示值越大排名越靠前,ascending預設為true。
a=data.rank(axis=1) #返回每一行上的值的排名,越小的值排名越靠前。12
#索引重置
#將指定列設為索引
##方法1
data.index=data['date'] #將date列設為索引。
##方法2
date=data['date']
data.index=dates
#將整數數列設為索引
data.reset_index() #將索引設為從0開始的整數數列,原索引列得到保留並變成第1列值。
data.reset_index(drop=true) #將索引設為從0開始的整數數列,原索引列不保留。
#將日期索引轉化為指定資料型別
##將日期由str轉為datetime
dates=[dt.datetime.strptime(date,'%y%m%d') for date in data.date] #date為str型別。
data.index=dates
##將日期由num轉為datetime
dates=[dt.datetime.strptime(str(date),'%y%m%d') for date in data.date] #date為num型別。
data.index=dates
#缺失值處理
#判斷data.isnull() #判斷data中的值是否為缺失值,是返回true,不是返回false。
data.notnull() #判斷data中的值是否為非缺失值,是返回false,不是返回true。
#提取data=data[data.notnull()] #提取data中非缺失值的元素。
data=data[data.col1.notnull()] #提取data中col1列非缺失值所在的所有行。
s=data.col1[data.col1.notnull()] #提取data中col1列裡的非缺失值。
#填充##將非缺失值替換為缺失值
data.col1[0]=numpy.nan #將指定值替換為缺失值。
data.col1=numpy.nan #將指定列整列替換為缺失值。
##將缺失值用其他值填充
data.fillna(value,inplace=) #用指定值value填充缺失值。inplace=true填充結果直接覆蓋原資料,false填充結果用新資料集表示,不覆蓋原資料。
data.fillna(0) #用0填充缺失值,填充結果用新資料集表示,不改變原資料集。
data.fillna(0,inplace=true) #用0填充缺失值,填充結果直接覆蓋原資料集。
data.fillna(method='',axis=0,limit=,inplace=) #用前/後值填充缺失值。
-method=:'ffill'用前乙個值填充,'pad'用前乙個值填充,'bfill'用後乙個值填充,'backfill'用後乙個值填充。
-axis=: 0為按列方向,1按行方向,預設為0.
-limit=n:連續缺失處僅填充n個。
-inplace=:true填充結果直接覆蓋原資料,false填充結果用新資料集表示,不覆蓋原資料。
#刪除data.dropna(axis=,how='',thresh=)
data.dropna() #刪除有缺失值的行。
data.dropna(axis=1) #刪除有缺失值的列。
data.dropna(axis=1,thresh=3) #刪除有至少3個缺失值的列。
data.dropna(axis=1,how='any') #每列有1個缺失值就整列刪除。
data.dropna(axis=1,how='all') #每列所有值都缺失時刪除該列。
#去重data.duplicated() #判斷每一行是否相對於之前的行重複。
data.duplicated(data.columns) #同data.duplicated(),即判斷每一行是否相對於之前的行重複。
data.duplicated(['col1']) #判斷指定列上的元素是否相對於之前的值重複。
data.duplicated(['col1','col2']) #判斷指定列中的每一行是否相對於之前的行重複。
data.drop_duplicates() #刪除所有重複行。
data.drop_duplicates(['col1']) #判斷指定列上是否有列方向上的重複值,若有,則刪除重複值所在行。
df.drop_duplicates(['col1'], keep='last') # keep引數指定保留重複值中哪乙個,』first』保留第乙個,刪除其他,』last』保留最後乙個,』false』刪除所有。
資料處理主要方法 DataFrame型別 1
會用到的包 import pandas import numpy import datetime 排序 方法1.a data.sort 將data中的值按生序排列可用於series,不可用於dataframe dataframe object has no attribute sort 方法2 a ...
資料處理 pandas資料處理優化方法小結
資料處理時使用最多的就是pandas庫,pandas在資料處理方面很強大,整合了資料處理和資料視覺化。pandas的視覺化使用的是matplotlib。回到主題 計算資料的某個欄位的所有值,對其欄位所有值進行運算 處理的字段資料為時間戳,需要計算該時間戳距離現在的時間,單位為天。一般方法 使用現在的...
資料處理方法總結
讀取資料 data pd.read csv print data.head 10 處理資料 1.縮小資料,查詢資料篩選,query相當於sql語句,進行條件查詢 data data.query x 1.0 x 1.25 y 2.5 y 2.75 2.處理時間處理 time value pd.to d...