歡迎使用CSDN markdown編輯器

2021-07-24 11:00:54 字數 3072 閱讀 5804

python3和r語言菜鳥。

這裡我就不對pandas作什麼詳細介紹了,主要是日常工作中,遇到百萬到千萬級別資料處理的用法和小技巧。

先import pandas as pd

df=pd.read_table('file_name.txt',names=none)

df=pd.read_csv('file_name.txt',names=none)

-注意,這裡names=none,是取原來的第一行為表頭,若需要另外設定表頭,可以用list形式賦值,不過個數要與列數相等,如names=[『a』,』b』,』c』],輸入names後,原來的第一行會成為第二行,新給的names會佔據表頭位置。

df=pd.read_csv('file_name.txt',names=none)
與txt的方式類似

讀取excel要注意的東西比較多。

df=pd.read_excel('file_name.xlsx',sheetname=0,names=none,converters=none)
sheetname引數是規定讀入第n-1個sheet(要讀入第1個sheet就填0,要讀要讀入第二個就填1),這裡可以填數字,也可以填表名(表名用字串處理,即names=』sheet1』)

names

是用來規定讀入的表頭,這裡與table讀入有很大不同,如果names=none,即原來第一行會成為表頭,若names=list,新給的list就會成為表頭,而原來的第一行則會被覆蓋(資料沒了),而不是成為第二行。(下面有方法解決!)

converters

這個引數是用來調整excel讀入時,常規型別和字串型別的。當傳值為none時,則預設方式讀取。這時就可能會出現我們不想要的結果。如資料為00001,這樣讀進來之後,就會變成了1。所以我們需要給converters乙個值,讓它讀入的時候就對資料做處理。converters需要乙個字典型別的值

當我們要處理乙個相當大的excel時,而它沒有表頭,即第一行資料就已經是資料本身,這時我們需要給它做乙個表頭,而names=none,第一行就會成為表頭,而給names賦值,第一行就會被覆蓋。

這時我們需要把excel切割再合併。

df=pd.read_excel('file_name.xlsx',sheetname=0,names=none,converters=none)
這時,第一行有效資料在表頭。

col0=df.columns

col0=pd.dataframe(col0).t

names=

rowsnum=len(df.iloc[1,:])

fori in range(rowsnum):

i='head'+str(i+1)

col0.columns=names

df.columns=names

df=pd.concat([col0,df],axis=0)

通過上面的**,就把原來第一行的資料切到第二行,並賦予了新的表頭。

colnames=df.columns

dictcolnames={}

fori in colnames:

dictcolnames[i]=str

df=pd.read_excel('file_name.xlsx',converters=dictcolnames)

通過上面的遍歷再重讀一次excel,獲得的df,就是所有資料型別都是str的了。一般多個0等開頭的資料都不是運作運算而是標記,如果其他字段需要是int型別時,可以在後面處理,因為讀入資料主要痛點不是int,而是str。

df=df.rename(columns=)
注意要把改名後的df給自己賦值一次才能修改原來的df。

df.to_csv('file_name.txt'),columns=

none,sep=

',',index=

false,header

=header)

df.to_csv('file_name.csv'),columns=

none,sep=

',',index=

false,header

=header)

檔案字尾名直接影響輸出檔案型別。

columns

colunms=none時,即輸出所有列,colunms可以接受列表,賦值後,輸出時為指定的列。

sep

為分割符,預設為,

index

輸出是否需要索引,預設為true

header

header預設為true,即輸出表頭,可以修改為false,則不輸出表頭。

header可以為list,在輸出時,會重新修改一次表頭。

to_excel('file_name.xlsx',sheet_name=

'sheet1',columns=

none,index=

false,header

=header)

excel輸出沒啥好說的。

歡迎使用CSDN markdow

本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...

歡迎毛毛與妞妞使用CSDN markdown編輯器

建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...

歡迎使用CSDN markdow1n編輯器

本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...