當從Dataframe中選擇單元格時,它會返回我的序列值,并將其作為序列追加到列表中。如何將單元格轉換為單個int值?
df = pd.DataFrame({"name": ['John', 'George', 'Ray'], "score": [123, 321, 112]})
x = df.loc[df['name']=='John', 'score'].reset_index(drop=True)
x.astype(int)
x
list=[]
list.append(x)
list
返回我[0 123名稱:score,數據類型:int64],但只需要[123]
之所以會發生這種情況,是因為通常
df["name"] == "John"
對于幾行可能是正確的。解決此問題的一個簡單方法是將“name”列臨時轉換為具有
set_index
的DataFrame's索引:Additional notes:
set_index
移動到定義DataFrame的行,將名稱永久用作索引可能是有意義的。list
這樣的built-in名稱加陰影是不好的做法,因為以后可能需要它們。