[英]Pandas iloc and loc error of index
我正在嘗試從Pandas矩陣中選擇特定的行,並獲取行標題為1的列標題。例如,對於行GAO(以CSV格式),它在4個標題下有1個“新聞稿”,“聲明”,“政策摘要” “,”白皮書“(您看不到最后2個標題)。 所以我想將這些標題保存在List變量下。
def csvTomatrix():
matrixData = pd.read_csv("contentParameter.csv",index_col=[0])
print(type(matrixData))
print (matrixData.loc["CRS"])
這是CSV文件 。
注意:我正在使用python3.6。
您沒有告訴pandas
第一列是索引,請嘗試
matrixData = pd.read_csv("contentParameter.csv", index_col=[0])
要么
matrixData = pd.read_csv("contentParameter.csv", index_col='Source\Content')
默認情況下,它會自動為您生成一個。
loc
使用基於label
的索引,而iloc
使用基於位置的索引。
由於標簽'CRS'
不存在,則matrixData.loc["CRS"]
提出了KeyError
,如果你做matrixData.iloc[0]
那這就是返回的第一行
要回答您的最后一個問題,您可以生成一個布爾掩碼,這些掩碼滿足條件以針對列進行掩碼。 因此,假設'Source/Content'
現在是索引:
df.loc['GAO'] == 1.0
將生成一個布爾掩碼,我們可以使用它對列進行掩碼:
df.columns[df.loc['GAO'] == 1.0]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.