免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
【Python數(shù)據(jù)分析】第一篇

  IO:導(dǎo)入導(dǎo)出數(shù)據(jù)

1
2
3
4
5
6
import pandas as pd
df = pd.read_csv(filepath_or_buffer, sep=',', header='infer', index_col=None, names=None, na_values=None, error_bad_lines=True, parse_dates=False)
sep 分隔符,csv文件,默認(rèn)是逗號 ,
header    是否導(dǎo)入第一行為列名  否則填None

  查看前5行數(shù)據(jù):

1
df.head()

  通過type(df) 查看df類型  => pandas.core.frame.DataFrame

  查看每一列數(shù)據(jù):

1
df['列名']

  通過 type(df['fips']) 得知 => pandas.core.series.Series

  Frame中每一列是個series

  查看某一行數(shù)據(jù):

1
2
df.loc[索引]
索引不僅可以是數(shù)字,還可以是字符串!

  I/O數(shù)據(jù)寫出:

1
DataFrame.to_csv(path_or_buf=None, sep=', ', na_rep='', float_format=None, columns=None, header=True, index=True, index_label=None, mode='w', encoding=None, compression=None, quoting=None, quotechar='"', line_terminator='\n', chunksize=None, tupleize_cols=False, date_format=None, doublequote=True, escapechar=None, decimal='.', **kwds)

  讀取報(bào)錯處理:

  1.先把數(shù)據(jù)文本轉(zhuǎn)換成utf-8 文本

  2.error_bad_lines = False 默認(rèn)True 出現(xiàn)錯誤,報(bào)錯

  3.encoding = 'gbk' 

  Missing Value (NaN) 需要優(yōu)先處理

1.針對數(shù)值型!

2.查看Missing Value的行

1
2
3
df.isnull()
df.notnull()

3.替換

1
df.fillna(0)        #統(tǒng)一換成0   數(shù)值型,字符型也會替換成0

4.刪除

1
df.dropna(0)    # 將含有 NaN 的行刪除! (不推薦)

  dataframe與series的屬性

1.字典 => series  (key => 索引)

2.字典 => dataframe   需要指定索引!

1
2
3
pd.DataFrame(dict,index=[0])   
pd.DataFrame.from_dict(dict,orient = 'index' )   # 字典中的key 變成索引  , orient:方向

      

   獲取行列總數(shù)

1
df.shape    # 不包含索引 !

  獲取索引

1
df.index    # 返回一個迭代器

  獲取列名

1
df.columns

  行列顛倒

1
df.T  # 轉(zhuǎn)制

  切片( 前閉后開 )

1
df[1:5]  # 索引

  選取某列或多列

1
2
3
4
5
6
# 某一列 (填入列名)
df.fips   
df['fips']  (推薦)
# 多列  最外層用[ ] 包含
df[['fips','area_name']]

  增加一列

1
df['xxx'] = None

  重命名某列  返回新數(shù)據(jù)集! 原始不變

1
2
3
df.rename(columns={"old_lab"="new_lab"})
df.rename(columns={"old_lab"="new_lab"},inplace=True)    # 替換原來數(shù)據(jù)集

  刪除  返回新數(shù)據(jù)集! 原始不變

1
df.drop('label', axis = 1# axis 軸  0 代表行, 1 列    inplace=True

  計(jì)算頻次

1
df['arer_name'].value_counts()

  設(shè)置索引位

1
dfnew =  df.set_index("area_name")    # 索引位:可以重復(fù),可以為字符串類型

  需要注意這3者區(qū)別

1
2
3
4
5
6
7
8
df.loc[1:4]    # 針對索引名稱進(jìn)行操作!
df[1:4]    # 針對索引進(jìn)行操作!
df.iloc[1:4]    # 針對索引進(jìn)行操作!
# 切片針對索引進(jìn)行操作! 具有 前閉后開 屬性
# loc 輸入的值必須是索引的名稱,iloc 輸入的是索引的位置

  選取多列

1
2
3
dfnew.loc['Barbour County',['fips','state_abbreviation']]
dfnew.iloc[1:5,:2]

  

  定位

1
2
3
df.loc[ df['area_name'] == 'United States']
df.loc[ df['PST045214'] > 1000000 ]

  賦值

1
df.loc[ df.['area_name'] == 'United States' , 'new_lab'] =0

  加條件判斷的賦值

1
2
# 注意括號位置 制定運(yùn)行順序!
df.loc[ (df.['PST045214'] >= 100000) & (df.['PST040210'] >= 100000)  , 'labelP' ] =1     

  條件取反賦值

1
df.loc[ ~((df.['PST045214'] >= 100000) & (df.['PST040210'] >= 100000))  , 'labelP' ] =0

  loc 與 iloc 的綜合

1
2
3
4
df.ix[ 1:4 ]       
df.ix[ 1:4 , ['fips','area_name'] ]    
# ix是loc與iloc的結(jié)合,輸入的既可以是名稱也可以是位置  (不推薦)

  查詢

1
2
3
4
5
6
7
8
9
10
11
12
13
df.query("PST045214 > 100000 & PST040210 > 100000 ")
df.query("state_abbreviation == 'AL' ")    # 注意 如果使用字符串進(jìn)行比較 ,,要用單引號!
*****************
num = 100000
df.query("PST045214 > num & PST040210 > num ")
# 報(bào)錯!, query 不支持變量!!
*****************
num = 1000000
df.loc[ df['PST045214'] > num ]
# loc 支持變量!!

  多重索引

1
movie.set_index(['director_name','movie_title'])

1
movie.set_index(['director_name','movie_title'] , drop= False , append = True) # False 保留作為索引兩列  append 添加索引

1
2
3
index.get_level_values(0)    # 獲得0層索引
index.get_level_values(1)    # 獲得1層索引

  對0層索引操作

1
movie.loc['James Cameron']

  處理多重索引時,先對其進(jìn)行排序

1
movie.sort_index(inplace= True)

  對多層索引操作

1
2
3
4
5
6
7
movie.loc[(slice(None) , 178.0) ,:]        # 逗號不可去掉,
movie.loc[(slice(None) , slice(178.0 , 200.0 )) ,:]
movie.loc[(slice(None) , slice(178.0 , 200.0 )) , ['color','genres']] 
movie.loc[ (['James Cameron','Gore Verbinski'] , slice(178.0 , 200.0 )),['color','genres']]

  處理空格

1
movie["movie_title"] = movie["movie_title"].map(lambda s : s.strip(" "))

  查看類型

1
movie.dtypes

  交換索引

1
movie.swaplevel(0,1)

  idx

1
2
3
4
idx = pd.IndexSlice
movie.loc[ idx[ : , 100.0:200.0] ,:]
movie.loc[(slice(None) , slice(100.0 , 200.0 )),:]

  xs()

1
2
3
4
5
movie.xs('James Cameron',level = 0)    # 第0層索引選取
movie.xs('James Cameron',level = 'director_name')
movie.xs((178,'James Cameron'),level = (1,0))

  取反場合

1
2
3
movie.loc[ (['James Cameron','Jon Gunn'] , slice(100.0 , 200.0 )),"new_lab"] =  1
movie.loc[~( (['James Cameron','Jon Gunn'] , slice(100.0 , 200.0 ))),"new_lab"] =  1    # 報(bào)錯 !

  

 

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Pandas數(shù)據(jù)處理方法(包括數(shù)據(jù)庫數(shù)據(jù)和普通文件數(shù)據(jù))
Pandas入門教程
pandas小記:pandas索引和選擇
教你如何用50道練習(xí)打通Pandas
Python數(shù)據(jù)分析——Pandas數(shù)據(jù)結(jié)構(gòu)和操作
利用Python進(jìn)行數(shù)據(jù)分析:【Pandas】(Series+DataFrame)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服