国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

Python 數(shù)據(jù)分析--讀寫文本格式的公式

2019-11-14 10:54:24
字體:
供稿:網(wǎng)友

pandas的使用


pandas中的解析函數(shù):

函數(shù)名 說明
read_csv() 默認(rèn)分隔符為逗號
read_table() 默認(rèn)分隔符為制表符(‘/t’)
read_fwf() 讀取定寬列格式數(shù)據(jù),也就是說沒有分隔符
read_clipboard() 讀取剪切板中的數(shù)據(jù).在將網(wǎng)頁轉(zhuǎn)換為表格時很有用

在創(chuàng)建時,我們可以指定一下的屬性:

路徑 path分隔符 sep 列名 header OR name 索引 index_col跳行 skiPRows缺失值 na_values行數(shù) nrows文件塊 chunksize

還有很多,諸如comment, parse_dates, keep_date_col, converters, dayfirst, date_parser, iterator, skip_footer, verbose, encoding, squeeze, thousands

舉例子

函數(shù)示范舉例

import pandas as pd

分隔符1>>> pd.read_table('ex3.txt',sep='/s+') A B Caaa -0.264438 -1.026059 -0.619500bbb 0.927272 0.302904 -0.032399ccc -0.264273 -0.386314 -0.217601ddd -0.871858 -0.348382 1.100491列名

列名為None:

>>> pd.read_csv('ex2.csv',header=None) 0 1 2 3 40 1 2 3 4 hello1 5 6 7 8 world2 9 10 11 12 foo

自定義列名:

>>> pd.read_csv('ex2.csv', names=['a','b','c','d','message']) a b c d message0 1 2 3 4 hello1 5 6 7 8 world2 9 10 11 12 foo索引

注:如果希望列名中的某一個列做成DataFrame的索引,通過index_col參數(shù)指定.

>>> pd.read_csv('ex2.csv', names=['a','b','c','d','message'], index_col='message') a b c dmessage hello 1 2 3 4world 5 6 7 8foo 9 10 11 12

當(dāng)然我們也可以做一個層次化索引.

>>> pd.read_csv('csv_mindex.csv') key1 key2 value1 value20 one a 1 21 one b 3 42 one c 5 63 one d 7 84 two a 9 105 two b 11 126 two c 13 147 two d 15 16>>> pd.read_csv('csv_mindex.csv', index_col=['key1', 'key2']) value1 value2key1 key2 one a 1 2 b 3 4 c 5 6 d 7 8two a 9 10 b 11 12 c 13 14 d 15 16跳行2 >>> pd.read_csv('ex4.csv', skiprows=[0,2,3]) a b c d message0 1 2 3 4 hello1 5 6 7 8 world2 9 10 11 12 foo缺失值>>> res = pd.read_csv('ex5.csv')>>> res something a b c d message0 one 1 2 3 4 NaN1 two 5 6 NaN 8 world2 three 9 10 11 12 foo>>> pd.isnull(res) something a b c d message0 False False False False False True1 False False False True False False2 False False False False False False>>> pd.read_csv('ex5.csv', na_values=['NULL']) something a b c d message0 one 1 2 3 4 NaN1 two 5 6 NaN 8 world2 three 9 10 11 12 foo

用字典為各列指定NA值

#可以看到[0][c],[2][message]變?yōu)镹A值>>> dict={'c':[1000,3],'message':['NA','foo']}>>> pd.read_csv('ex5.csv', na_values=dict) something a b c d message0 one 1 2 NaN 4 NaN1 two 5 6 NaN 8 world2 three 9 10 11 12 NaN行數(shù)>>> pd.read_csv('ex6.csv', nrows=10) one two three four key0 0.467976 -0.038649 -0.295344 -1.824726 L1 -0.358893 1.404453 0.704965 -0.200638 B2 -0.501840 0.659254 -0.421691 -0.057688 G3 0.204886 1.074134 1.388361 -0.982404 R4 0.354628 -0.133116 0.283763 -0.837063 Q5 1.817480 0.742273 0.419395 -2.251035 Q6 -0.776764 0.935518 -0.332872 -1.875641 U7 -0.913135 1.530624 -0.572657 0.477252 K8 0.358480 -0.497572 -0.367016 0.507702 S9 -1.740877 -1.160417 -1.637830 2.172201 G文件塊>>> chunk = pd.read_csv('ex6.csv', chunksize = 1000)>>> from pandas import Series>>> tot = Series([])#Series是一種類似于數(shù)組的對象,它由一組數(shù)據(jù)以及一組與之相關(guān)的數(shù)據(jù)標(biāo)簽(即索引)組成>>> for piece in chunk: #value_counts()統(tǒng)計這個塊中相同值的個數(shù) #塊中缺失值幾即賦值為0... tot = tot.add(piece['key'].value_counts(), fill_value=0)... >>> tot = tot.sort_values(ascending=False) >>> tot[:10]E 368X 364L 346O 343Q 340M 338J 337F 335K 334H 330dtype: float64

可移步參考DataFrame或者Series.



第一行是0行,不是第1行 ?第一行是0行,不是第1行 ?
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 高陵县| 庐江县| 新绛县| 中江县| 桑植县| 马关县| 汝城县| 寻乌县| 云南省| 台安县| 嵊泗县| 陆川县| 孟村| 子长县| 昌图县| 财经| 新郑市| 上饶市| 金平| 浠水县| 宣恩县| 林西县| 获嘉县| 商南县| 庆元县| 蕲春县| 仙桃市| 东阳市| 灵川县| 资中县| 建始县| 清水河县| 江源县| 壶关县| 荃湾区| 鱼台县| 齐河县| 安义县| 雅江县| 疏勒县| 留坝县|