我試圖提示用戶在 Pandas 資料框中輸入列名,然后使用該輸入顯示有關該列的資訊。
我試過的代碼:
df = #initializing dataframe
user_input = input('enter column name')
print(df.user_input.describe())
但我得到了錯誤:
df has no attribute user_input
假設用戶輸入實際上是有效的列名,我如何以這種方式使用輸入?
uj5u.com熱心網友回復:
您還可以使用 訪問列df[]。嘗試:
df[user_input].describe()
另一種方法是使用getattr():
getattr(df, user_input).describe()
我認為這很“不自然”。
uj5u.com熱心網友回復:
pandas如果列符合 python 的語法規則并且不干擾物件上的現有屬性,則允許您將其查找為屬性參考。在您的情況下,pandas將查找字面上名為“user_input”的列。
查找列的更通用方法是使用索引。它沒有相同的限制。所以,
f = #initializing dataframe
user_input = input('enter column name')
print(df[user_input].describe())
現在pandas將使用用戶輸入的字串來查找列。
編程的一條規則是應該只有一種“正確的方式”來做事。一般而言,熊貓或蟒蛇顯然不是這種情況。但是組織可以定義他們認為“正確”的東西。由于列的屬性查找有時才有效,是否應該使用它?值得商榷!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/325000.html
