国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

頭歌Python實訓——pandas數(shù)據(jù)處理

這篇具有很好參考價值的文章主要介紹了頭歌Python實訓——pandas數(shù)據(jù)處理。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

第1關:將超市銷售excel文件根據(jù)商品的類別篩選存儲

任務描述

本關任務: 超市銷售數(shù)據(jù)如圖所示

第1關:將超市銷售excel文件根據(jù)商品的類別篩選存儲,頭歌實訓,python,pandas

建立excel文件“類別銷售”,根據(jù)不同類別建立多個工作表,將相同類別的銷售信息存放在相應的工作表中。

第1關:將超市銷售excel文件根據(jù)商品的類別篩選存儲,頭歌實訓,python,pandas

相關知識

為了完成本關任務,你需要掌握:1.讀取excel文件,2.篩選dataframe數(shù)據(jù),3.將數(shù)據(jù)寫入工作簿和工作表

從excel文件讀入數(shù)據(jù)
pd.read_excel(filename,sheet_name=0,header=0,index_col=None,names=None,dtype=None) filename:指定電子表格的具體路徑 
sheet_name:指定需要讀取電子表格中的第幾個sheet,既可以傳遞整數(shù)也可以傳遞具體的Sheet名稱 
header:是否需要將數(shù)據(jù)集的第一行用作表頭,默認為是需要的 
index_col:指定哪些列用作數(shù)據(jù)框的行索引(標簽) 
names:如果原數(shù)據(jù)集中沒有字段,可以通過該參數(shù)在數(shù)據(jù)讀取時給數(shù)據(jù)框添加具體的表頭? 
dtypes:通過字典的形式,指定某些列需要轉(zhuǎn)換的形式? 
向excel文件寫入數(shù)據(jù)
DataFrame.to_excel(excel_writer, sheet_name='Sheet1', na_rep='', float_format=None, columns=None, header=True, index=True, index_label=None, encoding=None) 
excel_writer : 文件路徑或現(xiàn)有的ExcelWriter 
sheet_name :字符串,表的名稱。默認“Sheet1” 
na_rep : 字符串,默認‘ ’,缺失數(shù)據(jù)表示方式 
float_format : 字符串,默認None。格式化浮點數(shù)的字符串 
columns : 列表,要寫入的列 header : 布爾或字符串列表,默認為Ture。如果給定字符串列表,則它是列名。 
index :布爾,默認的Ture。行名(索引) 
index_label : 字符串或序列,默認為None。 注意:通過ExcelWriter寫入后要同執(zhí)行save()保存。
DataFrame

唯一值函數(shù)

unique()是以數(shù)組形式返回列的所有唯一值

篩選數(shù)據(jù) Pandas的.loc參數(shù)可以對多列數(shù)據(jù)進行篩選,并且支持不同篩選條件邏輯組合。

常用的篩選條件包括等于(==),不等于(!),大于(>),小于(<),大于等于(>=) ,小于等于(<=)等等。邏輯組合包括與(&)和或(|)。

list1=[["張三",'男'],["李四",'女'],["王五",'男'],["趙六",'女']] 
import panda as pd 
df=pd.DataFrame(list1,columns=["姓名","性別"])

則df

  姓名 性別
0 張三 男 
1 李四 女 
2 王五 男 
3 趙六 女 
df["性別"].unique() 
“男”,"女" 
df.loc[df["性別"]=="男"] 
  姓名 性別 
0 張三 男 
2 王五 男
編程要求

根據(jù)提示,在右側(cè)編輯器補充代碼,建立excel文件“類別銷售”,根據(jù)不同類別建立多個工作表,將相同類別的銷售信息存放在相應的工作表中。

測試說明

平臺會對你編寫的代碼進行測試: 輸入類別,系統(tǒng)將顯示該類別工作表的日期,商品編碼,商品名稱和合計金額四列信息

測試輸入:調(diào)料

預期輸出:文章來源地址http://www.zghlxwxcb.cn/news/detail-764011.html

      日期      商品編碼          商品名稱         合計金額 
0 2000-05-30 \t090202010048 \t裕榮蝦味先蝦條(原味)80g 7.7 
1 2000-06-22 \t090202010071 \t四季寶顆?;ㄉu340g 13.3 
2 2000-06-24 \t090202010035 \t牛頭牌雞湯塊66g 7.7 
3 2000-07-18 \t090202010024 \t金蘭拌面拌飯醬370g 20.4

測試輸入:電池

預期輸出:

      日期       商品編碼      商品名稱 合計金額 
0 2000-06-14 \t010105010002 \t金霸王7號2粒 5.2 
1 2000-06-14 \t010105010005 \t金霸王超能量(m3)7號2粒 6.2 
2 2000-07-16 \t010105010007 \t南孚電池7號5粒裝 8.9
代碼內(nèi)容
import pandas as pd
df=pd.read_excel("xlscl/step1/超市銷售數(shù)據(jù).xlsx",dtype={"商品編碼":str,"商品條碼":str})
writer = pd.ExcelWriter("xlscl/step1/類別銷售.xlsx")
#代碼開始

df_ = df["類別"].unique()
for x in df_:
    dfdata = df.loc[df["類別"]==x]
    dfdata.to_excel(writer, sheet_name=x, index=False)
    
writer.save()

#代碼結束
 

第2關:將銀行信息excel文件按地區(qū)篩選存儲

任務描述

本關任務:編寫一個將銀行信息的excel文件篩選存儲的小程序 銀行分布excel文件如圖所示

第1關:將超市銷售excel文件根據(jù)商品的類別篩選存儲,頭歌實訓,python,pandas

請編寫程序,在test文件夾下建立excel文件銀行一線城市,將北京市、上海市、廣州市、深圳市的銀行編號、名稱按銀行編號從小到大的順序放置到不同的excel工作表中

第1關:將超市銷售excel文件根據(jù)商品的類別篩選存儲,頭歌實訓,python,pandas

提示:可以將城市的名字放入列表

代碼內(nèi)容
import pandas
writer = pandas.ExcelWriter('test/銀行一線城市.xlsx')
data=pandas.read_excel("test/銀行信息.xlsx",dtype={"銀行編號":str})
#代碼開始

dfdata1 = data.loc[data["城市"] == "北京市", ["銀行編號", "名稱"]]
dfdata1 = dfdata1.sort_values("銀行編號")
dfdata1.to_excel(writer, sheet_name="北京市", index=False)

dfdata2 = data.loc[data["城市"] == "上海市", ["銀行編號", "名稱"]]
dfdata2 = dfdata2.sort_values("銀行編號")
dfdata2.to_excel(writer, sheet_name="上海市", index=False)

dfdata3 = data.loc[data["城市"] == "廣州市", ["銀行編號", "名稱"]]
dfdata3 = dfdata3.sort_values("銀行編號")
dfdata3.to_excel(writer, sheet_name="廣州市", index=False)

dfdata4 = data.loc[data["城市"] == "深圳市", ["銀行編號", "名稱"]]
dfdata4 = dfdata4.sort_values("銀行編號")
dfdata4.to_excel(writer, sheet_name="深圳市", index=False)
'''
list_ = ["北京市", "上海市", "廣州市", "深圳市"]
for x in list_:
    df = data.loc[data["城市"]==x, ["銀行編號", "名稱"]]
    df = df.sort_values("銀行編號")
    df.to_excel(writer, sheet_name=x, index=False)
'''
#代碼結束
writer.save()

第3關:將gdpecxcel文件按年份篩選存儲

任務描述

本關任務:編寫一個將GDP信息的excel文件篩選存儲的小程序 各省GDPexcel文件如圖所示

第1關:將超市銷售excel文件根據(jù)商品的類別篩選存儲,頭歌實訓,python,pandas

請編寫程序,在test文件夾下建立excel文件GDP分年份,將2000-2016年每年建一個工作表,將該年各省的省份、GDP稱按GDP從大到小的順序放置 注意:工作表的名稱為字符形

第1關:將超市銷售excel文件根據(jù)商品的類別篩選存儲,頭歌實訓,python,pandas

DataFrame類型的排序數(shù)據(jù)

pandas中的sort_values()函數(shù),可以將數(shù)據(jù)集依照某個字段中的數(shù)據(jù)進行排序,該函數(shù)即可根據(jù)指定列數(shù)據(jù)也可根據(jù)指定行的數(shù)據(jù)排序。

DataFrame.sort_values(by=”列名”,axis=0,ascending=True,inplace=False)

by:axis軸上的某個索引或索引列表

axis=0按列排序 axis=1按行排序 默認按列

ascending是否按指定列的數(shù)組升序排列,默認為True,即升序排列

inplace是否用排序后的數(shù)據(jù)集替換原來的數(shù)據(jù),默認為False,即不替換

代碼內(nèi)容
import pandas
writer = pandas.ExcelWriter('test/GDP分年份.xlsx')
data=pandas.read_excel("test/各省GDP.xlsx",dtype={"年份":str},)
#代碼開始

for i in range(2000, 2017):
    df = data.loc[data["年份"]==str(i),["省份", "GDP"]]
    df = df.sort_values(by='GDP', ascending=False)
    df.to_excel(writer, sheet_name=str(i), index=False)
#代碼結束
writer.save()

第4關:統(tǒng)計超市銷售excel文件各類別和各日的數(shù)據(jù),并將統(tǒng)計結果存入新的工作簿

任務描述

本關任務: 打開超市銷售數(shù)據(jù)工作簿

第1關:將超市銷售excel文件根據(jù)商品的類別篩選存儲,頭歌實訓,python,pandas

使用excel建立一個統(tǒng)計數(shù)據(jù)工作簿,建立一個工作表類別統(tǒng)計,按合計金額降序顯示不同類別銷售金額的和。

第1關:將超市銷售excel文件根據(jù)商品的類別篩選存儲,頭歌實訓,python,pandas

建立一個工作表日期統(tǒng)計,按日期升序顯示不同日期銷售金額的和

第1關:將超市銷售excel文件根據(jù)商品的類別篩選存儲,頭歌實訓,python,pandas

相關知識

為了完成本關任務,你需要掌握:1.DataFrame如何匯總數(shù)據(jù),2.DataFrame如何排序數(shù)據(jù)。

DataFrame類型的匯總數(shù)據(jù)

Groupby可以根據(jù)一個或多個鍵對DataFrame計算分組摘要統(tǒng)計, 如計數(shù)、求和、平均值、標準差,或用戶自定義函數(shù)。

例如

list1=[["張三",'男'],["李四",'女'],["王五",'男'],["趙六",'女']]
import pandas as pd
df=pd.DataFrame(list1,columns=["姓名","性別"])

則df

  姓名 性別 
0 張三 男 
1 李四 女 
2 王五 男 
3 趙六 女 
df.groupby(["性別"])["姓名"].count() 
性別 
女 2 
男 2 
DataFrame.groupby(by=None, axis=0, as_index=True) 
by :標簽或標簽列表;用于確定分類的列。 
axis : 接收 0/1;用于表示沿行(0)或列(1)分割。 
as_index:默認Ture,匯總后會建立一個序列存放匯總的結果。匯總的列是序列的index索引,統(tǒng)計值的列是序列的數(shù)值。 
指定為False則匯總結果是一個數(shù)據(jù)集,匯總列和統(tǒng)計值都是列。
序列類型的排序

序列的sort_values()函數(shù),可以將序列依照數(shù)據(jù)進行排序。 series1.sort_values(ascending=True,inplace=False) ascending是否按指定列的數(shù)組升序排列,默認為True,即升序排列 inplace是否用排序后的數(shù)據(jù)集替換原來的數(shù)據(jù),默認為False,即不替換 序列的sort_index()函數(shù),可以將序列依照索引列進行排序

編程要求

根據(jù)提示,在右側(cè)編輯器補充代碼,使用excel建立一個統(tǒng)計數(shù)據(jù)工作簿,建立一個工作表類別統(tǒng)計,按合計金額降序顯示不同類別銷售金額的和。 建立一個工作表日期統(tǒng)計,按日期升序顯示不同日期銷售金額的和

測試說明

平臺會對你編寫的代碼進行測試: 輸出兩個工作類別統(tǒng)計工作表和日期統(tǒng)計工作表的數(shù)據(jù)

代碼內(nèi)容
import pandas as pd
df=pd.read_excel("xlscl/step1/超市銷售數(shù)據(jù).xlsx")
writer = pd.ExcelWriter('xlscl/step2/統(tǒng)計數(shù)據(jù).xlsx')
#代碼開始

df_type = df.groupby(["類別"])["合計金額"].sum()
df_date = df.groupby(["日期"])["合計金額"].sum()

df_type.sort_values(ascending=False, inplace=True)


df_type.to_excel(writer, sheet_name="類別統(tǒng)計")
df_date.to_excel(writer, sheet_name="日期統(tǒng)計")

writer.save()
 

#代碼結束

第5關:將超市銷售excel文件分別存放在多個日期工作簿的不同類別工作表中

任務描述

本關任務: 超市銷售數(shù)據(jù)如圖所示 在xlscl/step3/rq文件夾下根據(jù)銷售的日期建立不同的excel文件,

第1關:將超市銷售excel文件根據(jù)商品的類別篩選存儲,頭歌實訓,python,pandas

將同一類別的銷售信息存放在excel文件的不同工作表中。

第1關:將超市銷售excel文件根據(jù)商品的類別篩選存儲,頭歌實訓,python,pandas

并建立類別統(tǒng)計工作表,顯示該日各類別的合計金額的和,按合計金額的降序排列。

第1關:將超市銷售excel文件根據(jù)商品的類別篩選存儲,頭歌實訓,python,pandas

編程要求

根據(jù)提示,在右側(cè)編輯器補充代碼。 注意:由于文件名只能是字符形,所以需要將日期型數(shù)據(jù)轉(zhuǎn)換為字符形 可以使用 str(日期時間數(shù)據(jù)).replace('-',"")[:8] 將日期時間的字符的-刪除再取前8個字符 此外,文件需要保存再xlscl的step3文件夾下的rq文件夾下

測試說明

平臺會對你編寫的代碼進行測試:

測試輸入: 20000525 零食

預期輸出:

    商品編碼 商品名稱 合計金額 
0 90101030095 \t康師傅蘇打夾心香草巧克力餅干96g 4.5 
1 90101030100 \t百力滋巧克力味50G 3.6 
2 90101070032 \t糙米館蕎麥150g 6.9 
3 90101090052 \t益民鹽津楊梅180g 6.9 
4 90101090054 \t益民精鹽桃肉160g 6.9 
5 90101090055 \t益民咸話梅110g 6.9 
6 90101090057 \t益民多味山楂180g 6.9 
7 90101090058 \t益達無糖口香糖藍莓味13.5g 1.9 
8 90102010035 \t黑塘麥芽餅500g 27.8 
9 90103010048 \t渝業(yè)燒烤豆干80g 1.9 
10 90103010053 \t金鑼Q香香腸老湯味100g 2.1 
  類別 合計金額 
0 酒 384.0 
1 煙 344.5 
2 零食 76.3 
3 飲料 38.2 
4 冷飲 22.0 
5 奶制品 15.5 
6 方便面 3.5 
7 紙制品 2.1

測試輸入: 20000530 煙

預期輸出:

   商品編碼 商品名稱 合計金額 
0 90501000012 \t黃鶴樓(硬雅香) 40 
1 90501000016 \t黃金葉(軟大金圓) 20 
2 90501000021 \t南京(紅) 22 
  類別 合計金額 
0 零食 115.1 
1 煙 82.0 
2 飲料 49.2 
3 冷飲 22.5 
4 奶制品 9.8 
5 調(diào)料 7.7 
6 紙制品 6.1 
7 方便面 3.5
代碼內(nèi)容
import pandas as pd
df=pd.read_excel("xlscl/step1/超市銷售數(shù)據(jù).xlsx",dtype={"商品編碼":str,"商品條碼":str})
#代碼開始

df_dates = df["日期"].unique()  # 日期list
for date in df_dates:
    file_name = str(date).replace('-', '')[:8]
    writer = pd.ExcelWriter('./xlscl/step3/rq/'+file_name+'.xlsx')  # 文件

    df_data = df.loc[df["日期"]==date]  # date日期內(nèi)數(shù)據(jù)
    df_types = df_data["類別"].unique()  # date日期內(nèi)的類別list

    for type in df_types:
        df_type0 = df_data.loc[df["類別"]==type]  # 單一類別信息
        df_type0.to_excel(writer, sheet_name=type)

    df_type1 = df_data.groupby(["類別"])["合計金額"].sum()
    df_type1.sort_values(ascending=False, inplace=True)
    df_type1.to_excel(writer, sheet_name="類別統(tǒng)計", index_label="類別")
    writer.save()
#代碼結束

到了這里,關于頭歌Python實訓——pandas數(shù)據(jù)處理的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包