簡體   English   中英

在 pandas 中使用字母定位元素背后的邏輯是什么?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM