首頁 >後端開發 >Python教學 >python學習002-pandas VS excel為成績賦值等級

python學習002-pandas VS excel為成績賦值等級

fs哆哆
fs哆哆原創
2020-05-09 21:12:26234瀏覽

【問題】有一張成績表如下,在總分後面加一列,依下列要求輸入等級

python學習002-pandas VS excel為成績賦值等級等級如下:

 成績
等級
90以上 A
80-90 B
60-79 C
#0-59

#【知識點】

apply函數

apply函數是`pandas`裡面所有函數中自由度最高的函數。函數如下:

DataFrame.apply(func, axis=0, broadcast=False, raw=False, reduce=None, args=(), **kwds)

該函數最有用的是第一個參數,這個參數是函數,相當於C/C 的函數指標。

這個函數需要自己實現,函數的傳入參數根據axis來定,例如axis = 1,就會把一行資料當作Series的資料

結構傳入給自己在實作的函數中,我們在函數中實作對Series不同屬性之間的計算,傳回一個結果,則apply函數

會自動遍歷每一行DataFrame的數據,最後將所有結果組合成一個Series數據結構並返回。

【程式碼】

```python

# -*- coding: UTF-8 - *-

import pandas as pd

def get_letter_grade(score):

    if score&gt ;=90:

        return "A"

    elif score>=80:

python學習002-pandas VS excel為成績賦值等級

python學習002-pandas VS excel為成績賦值等級

python學習002-pandas VS excel為成績賦值等級

##########' return "B"############    elif score>=60:############        return "C"###############> else:############        return "D"############d=pd.read_     return "D"############d=pd.read_('pandas VS 給成績賦值等級.excelsx')## ##########print(d)############d['等級']=d['總分'].apply(lambda x: get_letter_grade(x) )############print(d)############d.to_excel('pandas VS excel為成績賦值等級_out.xlsx',index=False )############print("done")#############``#########程式解析:#### ##1.把Excel成績讀入印出來為###############2.d['等級']=d['總分'].apply(lambda x: get_letter_grade (x))######新建一個「等級「的列,並賦值等級如下################3.######d.to_excel(' pandas VS excel給成績賦值等級_out.xlsx',index=False)#######輸出為excel檔案內容如下############

以上是python學習002-pandas VS excel為成績賦值等級的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn