合併兩表
生成資料透視表
處理缺失值
統計某特徵
import pandas as pd
df=pd.read_csv(
"位址"
)# 若為xlsx
df=pd.read_excel(
"位址"
)# 選取行
rows=df[0:
3]rows
# 選取列
cols=df[
['1'
,'2']]
cols.head(
)# head展示前五行(表頭除外)
# 選取塊
df.ix[0:
3,['1'
,'2']]
# 三行兩列的資料
# 資料分割
df2=df[80:
90][[
'1',
'2']
]
df.to_csv(
"空檔案位址"
,columns=
["name1"
,"name2"
],index=
false
,header=
true
)df.to_excel(..
.)
注意:columns裡的列必須存在於df檔案中。
index是索引,若新增索引則放置在第一列。
header是列頭。
# 檢視資料資訊
df.info(
)# 描述性資訊如最值,平均值
df.describe(
)
df[
'3']
=df[
'1']
+df[
'2']
df[
(df[
'1']
<
100)
&(df[
'2']
>
10000
)]
設定關鍵字並排序:
df1=df.set_index(
'1')
df1=df1.sort_index(
)df1.head(
)
多個關鍵字:
df2=df.set_index(
['1'
,'2'])
.sortlevel(0)
# 根據第乙個索引排序
df2.head(
)
分組:
means=df[
'1']
.groupby(df[
'2']
,df[
'3']
).mean(
)df.groupby(
['2'
,'3'])
.mean(
)# 其他所有行的平均值,非數值列會被自動排除
df.groupby(
['2'
,'3'])
.size(
)
分組計算均值,求和:
# axis=0刪掉行,axis=1刪掉列
df_mean=df.drop(
['1'
,'2'
],axis=1)
.groupby(
'place'
).mean(
).sort_values(
"money"
,ascending=
false
)df_sum=df.drop(
['1'
,'2'
],axis=1)
.groupby(
'place').
sum(
).sort_values(
"money"
,ascending=
false
)
pd.merge(df1,df2)
df2=pd.pivot_table(df,values=
['price'
],index=
['from'
],columns=
['to'
])
df.fillna(
'missing'
)# 用missing代替nan
df.fillna(df.mean())
# 用平均值代替nan
valid_count=df.groupby(
['name'])
['valid'
].value_counts(
)
用Python處理csv檔案
csv 是 逗號分隔值 的英文縮寫,通常都是純文字檔案。建議使用 wordpad 或是記事本 note 來開啟,再則先另存新檔後用 excel 開啟,也是方法之一。一直以為 csv 是某種 excel 檔案,原來是一種純文字檔案,嘗試用記事本開啟乙個 csv 檔案 果然,在記事本中是以逗號為分隔符,...
day 4 csv資料處理
在資料中間使用逗號分隔開,這樣的格式稱為csv檔案。下面學習如何視覺化csv檔案 開啟csv模組,csv模組包括在python的標準庫中,可以直接使用。開啟檔案 with open 函式 建立閱讀器 reader csv.reader f 使用csv模組中的reader函式,建立乙個閱讀器,注意,該...
Python 資料處理
將檔案切分,存入列表 strip split with open james.txt as jaf data jaf.readline james data.strip split 資料檔案為 2 34,3 21,2.34,2.45,3.01,2 01,2 01,3 10,2 22 print ja...