Pandas讀取文字

2022-09-13 20:30:13 字數 1585 閱讀 2656

pandas在處理千萬行級別的資料中有非常高的實用價值,通過將文字資料讀取載入到記憶體中,在利用pandas進行資料處理運算,效率非常高。(excel表適合處理幾十萬行級別的資料,pandas則適用於處理千萬級別的資料)。

一般情況下千萬級別的資料動輒在幾個gb以上,因此建議電腦記憶體在16gb以上為佳。python在處理超過記憶體能力的大資料時,雖說程式不會中斷,但對執行效率影響很大。

在pandas資料讀取和處理中一下**為常用**:

import pandas as pd  '必選,載入pandas

import numpy as np  '通常必選,如產生隨機數

import gc  '可選,用於記憶體管理

import time  '可選,如用於計時

reader = pd.read_table('file1.txt',header=none,names=['col_name1','col_name2',...],sep='|',index_col=0)  '載入檔案到記憶體,載入的方式可以通過引數進行靈活控制

reader[列號id].value_counts().to_csv('檔名.csv')  '類似於excel中的countif,執行效率比excel高出非常多!

reader[列id號].sum()  '對不同的列進行統計分析

pd.merge(df1,df2,on='msisdn',how='outer').to_csv('outer.csv',index=false) '合併兩個dataframe,去交集,同時輸出到outer.csv檔案,且不輸出索引號。

reader.drop_duplicates([列id號]).to_csv('檔名.csv')  '將除重後的資料存入單獨檔案裡 

reader.sort([列id號], ascending=false,其他條件...)  '按某列值對資料進行排序

reader.loc(reader[列id號] ==/!=/> '條件值', 其他條件...)

此外,除簡單統計外,pandas還提供如下統計計算:

count

非 na 值的數量

describe

針對 series 或 df 的列計算匯**計

min , max 

最小值和最大值

argmin , argmax 

最小值和最大值的索引位置(整數)

idxmin , idxmax 

最小值和最大值的索引值

quantile

樣本分位數(0 到 1)

sum求和

mean

均值median

中位數mad

根據均值計算平均絕對離差

var 

方差std 

標準差skew 

樣本值的偏度(三階矩)

kurt 

樣本值的峰度(四階矩)

cumsum 

樣本值的累計和

cummin , cummax 

樣本值的累計最大值和累計最小值

cumprod

樣本值的累計積

diff 

計算一階差分(對時間序列很有用)

pct_change

計算百分數變化

python庫 pandas 文字檔案讀取

read table read csv filepath or buffer 檔案路徑 sep t 分隔符.設定為n,將嘗試自動確定 delimiter n sep的備用引數名 header infer int用作列名稱的行號 ints 若傳入列表則表示這幾行都將作為列標籤 none 檔案中不包含標...

pandas檔案讀取

改變工作路徑 import os print os.getcwd 列印當前工作目錄 print os.listdir os.chdir c users administrator import pandas as pd for price in dfs1 print price 讀取資料是指定乙個列...

pandas讀取資料

導庫 import pandas as pd fpath d 123.csv 讀取資料 book pd.read csv fpath 檢視全部內容 book idusename course01 張三7512 李四8023 王二8334 張華9045 小明7856 小紅7667 小七90 檢視前5行...