對于以下簡單的資料框
data = {'Name':['ww', 'xx'],
'v1':[19968,5.83],
'v2':[39936,11.31],
'v3':[79872,19.26]}
df = pd.DataFrame(data)
df看起來像哪里
Name v1 v2 v3
0 ww 19968.00 39936.00 79872.00
1 xx 5.83 11.31 19.26
當我使用時x = df.iloc[1,:].astype(float),我得到這個錯誤
could not convert string to float: 'xx'
我希望將第 1 行轉換為:x = [5.83 11.31 19.26]
我該如何解決?
uj5u.com熱心網友回復:
您在這里對行進行了切片并取了所有列(因此第一列包含字串的錯誤)。
您應該對行和列都進行切片(以擺脫第一個):
df.iloc[1,1:].astype(float)
或者,明確選擇僅數字列:
df.select_dtypes('number').iloc[1].astype(float)
輸出:
v1 5.83
v2 11.31
v3 19.26
Name: 1, dtype: float64
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/425821.html
