首頁 >後端開發 >Python教學 >python資料分析之pandas搞定Excel表格

python資料分析之pandas搞定Excel表格

WBOY
WBOY轉載
2022-05-13 13:39:224140瀏覽

本篇文章為大家帶來了關於python的相關知識,其中主要介紹了關於數據分析基礎的一些問題,包括了讀取其他文件、數據透視表等相關內容,下面一起來看一下,希望對大家有幫助。

python資料分析之pandas搞定Excel表格

推薦學習:python影片教學

#(一)讀取其他檔案

接下來我們讀取三類文件csvtsvtxt文件,值得注意的是讀取這三類文件時使用的都是同一個方法,即pd.read_csv(file),讀取時為excel表時需注意分隔符,使用參數sep=''分隔。接下來我們一起來看看在excel和pandas種如何操作的吧!

1.excel讀取其他文件

從excel匯入外部資料
python資料分析之pandas搞定Excel表格

1.1 匯入csv文件

匯入csv檔案時,分隔符號選擇逗號即可。

python資料分析之pandas搞定Excel表格

1.2 導入tsv文件

#導入tsv文件,分隔符號選擇tab鍵

python資料分析之pandas搞定Excel表格

1.3 匯入txt文字檔案

匯入txt檔案時,注意文字裡面是以什麼符號分隔的,自訂分隔符號。

python資料分析之pandas搞定Excel表格

2.pandas讀取其他檔案

在pandas中為無論是讀取csv檔案或tsv檔案也或txt文件,都是用read_csv()的方法讀取,另外加上sep()參數來分隔。

2.1 讀取csv檔

import pandas as pd

# 导入csv文件
test1 = pd.read_csv('./excel/test12.csv',index_col="ID")
df1 = pd.DataFrame(test1)

print(df1)

2.2 讀取tsv檔

tab鍵用\t來表示

import pandas as pd

# 导入tsv文件
test3 = pd.read_csv("./excel/test11.tsv",sep='\t')
df3 = pd.DataFrame(test3)

print(df3)

2.3 讀取txt檔案

import pandas as pd

# 导入txt文件
test2 = pd.read_csv("./excel/test13.txt",sep='|')
df2 = pd.DataFrame(test2)

print(df2)

結果:
python資料分析之pandas搞定Excel表格

(二)資料透視表

##在excel中存在多種數據,且分為許多類型,這時使用數據透視表就會很方便也很直觀的為我們分析出各種我們想要的數據了。


實例:將下列資料繪製成一個透視表,並繪製出按總類別分每年的銷售額!

1.在excel中製作透視表

#需要依照年份來分,則我們需要將date欄位拆分,把年份拆分出來。隨後在資料欄下選擇資料透視表,選擇區域即可。


python資料分析之pandas搞定Excel表格 接著將各部分資料拖曳到各區域即可。

python資料分析之pandas搞定Excel表格

結果:


python資料分析之pandas搞定Excel表格

這樣就在excel中完成了資料透視表的製作。

那麼在pandas中要怎麼實現這效果呢?

2.在pandas中繪製透視表

繪製透視表的函數為:df.pivot_lable(index,columns,values),最後將資料求和即可。

import pandas as pd
import numpy as np

pd.options.display.max_columns =999
test = pd.read_excel('./excel/test14.xlsx')
df = pd.DataFrame(test)
# 将年份取出并新建一个列名为年份的列
df['year'] = pd.DatetimeIndex(df['Date']).year
# 绘制透视表
table = df.pivot_table(index='总类',columns='year',values='销售额',aggfunc=np.sum)
df1 = pd.DataFrame(table)
df1['总计'] = df1[[2011,2012,2013,2014]].sum(axis=1)


print(df1)
結果:


python資料分析之pandas搞定Excel表格

除此之外還可以利用groupby函數來繪製資料表。這裡將總類和年份分組求銷售總額和銷售數量。

import pandas as pd
import numpy as np

pd.options.display.max_columns =999
test = pd.read_excel('./excel/test14.xlsx')
df = pd.DataFrame(test)
# 将年份取出并新建一个列名为年份的列
df['year'] = pd.DatetimeIndex(df['Date']).year

# groupby方法
group = df.groupby(['总类','year'])

s= group['销售额'].sum()
c = group['ID'].count()

table = pd.DataFrame({'sum':s,'total':c})

print(table)
結果:


python資料分析之pandas搞定Excel表格

推薦學習:

python影片教學

以上是python資料分析之pandas搞定Excel表格的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除