pandas資料處理練習(資料集 犯罪率)

2021-10-01 06:20:33 字數 4812 閱讀 5382

import pandas as pd

import matplotlib.pyplot as plt

import seaborn as sns

import numpy as np

data = pd.read_csv(

"c:\\users\\nihil\\documents\\pythonlearn\\data\\random\\crimerate.csv"

)data.drop(

['source'

,'subregion'

],axis=

1,inplace=

true

)print

(data.info(

))

out:

data columns (total 20 columns)

:region 230 non-null object

subregion 230 non-null object

unodc name 230 non-null object

2000

151 non-null object

2001

135 non-null object

2002

135 non-null object

2003

150 non-null object

2004

161 non-null object

2005

184 non-null object

2006

165 non-null object

2007

166 non-null object

2008

179 non-null object

2009

176 non-null object

2010

196 non-null object

2011

159 non-null object

2012

163 non-null object

2013

138 non-null object

2014

132 non-null object

2015

142 non-null object

2016

99 non-null object

dtypes:

object(20

)memory usage:

36.0

+ kb

none

out = data.region.value_counts(

)print

(out)

out:

africa      57

asia 53

europe 51

americas 50

oceania 19

把region也刪掉

data.drop(

['source'

,'subregion'

,'region'

],axis=

1,inplace=

true

)

輸出列名

print

(data.columns.values)

out:

[

'unodc name'

'2000'

'2001'

'2002'

'2003'

'2004'

'2005'

'2006'

'2007'

'2008'

'2009'

'2010'

'2011'

'2012'

'2013'

'2014'

'2015'

'2016'

]

選擇年份資料

data_crime = data[

['2000'

,'2001'

,'2002'

,'2003'

,'2004'

,'2005'

,'2006'

,'2007'

,'2008'

,'2009'

,'2010'

,'2011'

,'2012'

,'2013'

,'2014'

,'2015'

,'2016'

]]

data_crime = data[

['2000'

,'2001'

,'2002'

,'2003'

,'2004'

,'2005'

,'2006'

,'2007'

,'2008'

,'2009'

,'2010'

,'2011'

,'2012'

,'2013'

,'2014'

,'2015'

,'2016']]

.values

country = data[

'unodc name'

].values

columns =

['2000'

,'2001'

,'2002'

,'2003'

,'2004'

,'2005'

,'2006'

,'2007'

,'2008'

,'2009'

,'2010'

,'2011'

,'2012'

,'2013'

,'2014'

,'2015'

,'2016'

]data = pd.dataframe(data_crime,index=country,columns=columns)

print

(data)

看著費勁,換個方法

data.rename(columns=

,inplace=

true

)data = data.set_index(

'country'

)print

(data)

data.dropna(axis=

0,how=

'any'

,inplace=

true

)print

(data)

axis:0-行操作(預設),1-列操作

how:any-只要有空值就刪除(預設),all-全部為空值才刪除

inplace:false-返回新的資料集(預設),true-在願資料集上操作

print

(data.dtypes)

out:

2000

object

2001

object

2002

object

2003

object

2004

object

2005

object

2006

object

2007

object

2008

object

2009

object

2010

object

2011

object

2012

object

2013

object

2014

object

2015

object

2016

object

dtype:

object

資料是object,並不是float64或者int64格式。

data = data.replace(

',',

'')

這樣並不能改變。

用乙個迴圈

for i,col in

enumerate

(data.columns)

: data.iloc[

:,i]

= data.iloc[

:,i]

.str

.replace(

',',

'')

沒想到還有個『-』找了一晚上資料,終於找到。去掉『-』的方法,參照

pandas的一些用法

stackoverflow上的好心人提供的方法

data=data[

~ data[

'2001'].

str.contains(

'-',na=

false

)]

現在沒有逗號可以進行轉換了。

參考:pandas 資料型別轉換

總結:這個資料集實在有點浪費時間。

Pandas資料處理之合併資料集

將不同的資料來源進行合併是資料處理中最常見的操作,包括將兩個不同資料集簡單地拼接,也包括處理有重疊欄位的資料集。series與dataframe都具備這類操作,pandas的函式與方法讓資料合併變得更加快速.in 1 import numpy as np import pandas as pd為了簡...

爬蟲 資料處理 pandas資料處理

使用duplicated 函式檢測重複的行,返回元素為布林型別的series物件,每個元素對應一行,如果該行不是第一次出現,則元素為true keep引數 指定保留哪一重複的行資料 dataframe替換操作 使用df.std 函式可以求得dataframe物件每一列的標準差 資料清洗清洗重複值 清...

pandas 資料處理

pandas中資料可以分為series,dataframe,panel分別表示一維至三維資料。其中在構造時,index表示行名,columns表示列名 構造方式 s pd.series data index index s pd series np random randn 5 index a b ...