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頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...