[英]What's the logic behind locating elements using letters in pandas?
我有一個 CSV 文件。 我將它加載到 pandas dataframe 中。 現在,我正在練習 loc 方法。 這個 CSV 文件包含詹姆斯邦德電影的列表,我在 loc 方法中傳遞字母。 我無法解釋顯示的結果。
bond = pd.read_csv("jamesbond.csv", index_col = "Film")
bond.sort_index(inplace = True)
bond.head(3)
bond.loc["A": "I"]
上述代碼的結果是:
bond.loc["a": "i"]
上面代碼的結果是:
這里發生了什么? 我無法理解。 請有人幫助我了解 pandas 的屬性。
以下是文件:
您的 dataframe 在導入時使用第一列(“Film”)作為索引(因為選項index_col = "Film"
)。 該列包含存儲為字符串的每部電影的名稱,它們都以大寫字母開頭。 bond.loc["A":"I"]
返回索引大於或等於“A”且小於或等於“I”的所有電影(熊貓切片包含上限),按規則Python 中的字符串比較包括所有以“A”-“I”開頭的電影。 如果您在 python 提示符中輸入例如"A" <= "b" <="I"
,您將看到小寫字母不在范圍內,因為ord("b") > ord("I")
。
如果你寫了bond.index = bond.index.str.lower()
這會將索引更改為小寫,你可以使用例如bond["a":"i"]
搜索電影(但是bond["A":"I"]
將不再返回任何電影)。
DataFrame.loc["A":"I"]
返回以該范圍內的字母開頭的行 - 從我可以看到並嘗試重現的內容。 可以附上資料嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.