初始化Dataframe

  • 讀取csv文件到Dataframe中

1. 讀取一般普通的csv

df=pd.read_csv('data.csv',sep='\t',header=0,names=['col1', 'col2'],dtype={'col1':"str", 'col2':"int64"})  

header=0:不讀取原來的列名
names=['col1', 'col2']:按照位置順序,重新給列命名
dtype={'col1':"str", 'col2':"int64"}:按照dict語法,給列指定類型,如果有nan值可能會報錯,需要再配合na_values, keep_default_na, na_filter等3個參數(shù)對na進行處理

2. 分塊讀取大型csv

df_table=pd.read_csv('data.csv',header=None,sep='\t',chunksize=100000)
for df in df_table:
    pass

3. 迭代讀取特定size的csv

df_iter=pd.read_csv('data.csv',  sep='\t', iterator=True)
while True:
    try:
        df = df_iter.get_chunk(10000)
        pass
    except StopIteration:
        break

4. 讀取特定行數(shù)用于測試

df=pd.read_csv('data.csv',  sep='\t', nrows=10)

5. 讀取特定列

df=pd.read_csv('data.csv',  sep='\t', usecols = [0,1,2,3]) 

usecols=[0,1,2,3]: 按照位置順序,指定要讀取的列

  • 創(chuàng)建Dataframe

1. 創(chuàng)建指定列的空Dataframe

df=pd.Dataframe(columns=["col1", "col2"])

2. 創(chuàng)建帶數(shù)據(jù)的Dataframe

df=pd.Dataframe({"col1":[1,2,3], "col2":['a','b','c']})
  • 處理空值

1. 整體替換

df.fillna("", inplace=True)

2. 替換某列

df.fillna({'column':"", inplace=True}

TODO

numpy : y = np.where(np.isnan(x), None, x)
pandas: df1 = df.where((pd.notnull(df)), None)

跟著Stack Overflow學pandas

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容