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 ...