pandas常用操作

pandas讀取數(shù)據(jù):

import pandas as pd
dataPath = 'test.csv'
data = pd.read_csv(dataPath , sep=',', iterator=False,encoding='utf-8', header=None)
# 其中dataPath 代表讀取的文件的路徑,
#     sep代表文件每行分隔的符號
#     iterator代表文件讀取時以迭代的方式進行,設(shè)置為True可以減少內(nèi)存占用
#     encoding代表讀取文件的字符編碼格式
#     header設(shè)置為None代表數(shù)據(jù)中沒有列名,讀取時可以忽略掉列名,默認(rèn)為infer,其將第一行作為標(biāo)簽

pandas查看數(shù)據(jù):

print data.head()    # 查看數(shù)據(jù)的前5行,括號中可以填數(shù)字,代表查看的行數(shù)
print data.tail()    # 查看數(shù)據(jù)的后5行,括號中可以填數(shù)字,代表查看的行數(shù)
print data.shape    # 查看data的大小,結(jié)果如(1024,10)

pandas刪除行、列:

#  刪除行,刪除了data中的第16、17行
data.drop([16,17],inplace=True)   # inplace設(shè)置為True則原數(shù)據(jù)也改變
# 等價于
data.drop(data.index[[16,17]],inplace=True)

# 刪除列,刪除data中標(biāo)簽為age的列
del data['age']
# 等價于下式,均可添加inplace參數(shù)
data.drop(['age'],axis=1)

# 刪除方法詳見  http://www.lxweimin.com/p/67e67c7034f6

pandas排序:

data = data.sort_values(by=['age', 'name'])  # 根據(jù)by中的參數(shù)名進行排序

pandas合并列表

data_12 = pd.merge(data1, data2, on=['age', 'name'], how='outer')
#  將data1和data2兩個DataFrame類型的進行合并,on中代表合并時的主鍵,
#  how中可選參數(shù)為outer、inner
#  outer則得到并集,空缺部分為nan,inner為交集

pandas采樣

DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None)
# 例子如下
import pandas as pd  
df.sample(n=20000)  

n 是要抽取的行數(shù)。(例如 n=20000 時,抽取其中的 2W 行)
frac 是抽取的比列。(有一些時候,我們并對具體抽取的行數(shù)不關(guān)系,我們想抽取其中的百分比,這個時候就可以選擇使用 frac,例如 frac=0.8,就是抽取其中 80%)
replace 抽樣后的數(shù)據(jù)是否代替原 DataFrame()
weights 這個是每個樣本的權(quán)重,具體可以看官方文檔說明。
random_state 隨機數(shù)

pandas保存數(shù)據(jù):

data.to_csv('baseinfo2.csv', index=False)
# 將data保存到baseinfo2.csv中
# 其中index設(shè)置為False為了防止寫入文件時寫入索引。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容