![](/img/trans.png)
[英]getting string from pandas Series and DataFrames in python?
[英]Getting the maximum value from filtered values in pandas DataFrames? - Python, Pandas
我想過濾到星期一的日子並獲得星期一的最大 OverallGrade。 或者我為它制作了一個新的數據框,它顯示了預期的答案 90,但是有沒有辦法在不創建新的數據框的情況下做到這一點?
當看到最終結果時,我還需要看到學生 ID,如 alt 解決方案所示,而且我不想使用天數作為索引並為此再次重置索引! (實際上,我將日期作為日期,不想將它們用作索引,為了簡單起見,這里只是轉換為日期名稱)
import pandas as pd
ClassData = {
"Days": ["Monday","Wednesday","Monday","Friday","Tuesday","Monday","Friday"],
"OverallMarks": [ 150, 140, 180, 250, 200 , 240, 170 ],
"OverallGrade": [ 70, 60, 90, 110, 85 , 80, 71 ],
"StudentID" : ['a','b', 'c', 'd', 'e', 'f', 'g']
}
MyDataFrame1 = pd.DataFrame(ClassData)
# Alternate Solution I use - Creating a new Dataframe for only the mondays
NewDataFrame = MyDataFrame1[ MyDataFrame1['Days'] == "Monday" ] # Gets all Mondays
print( NewDataFrame[ NewDataFrame['OverallGrade'] == int(NewDataFrame['OverallGrade'].max()) ][['StudentID','OverallGrade']] )
# Gets max grade as 90 and shows the student id and grade
print( MyDataFrame1[ MyDataFrame1['Days'] == "Monday" ].sort_values(by='OverallGrade', ascending=False).iloc[0])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.