[英]Convert row list of strings to float in pandas
我有一個數據框,其中每一行都是一個列表,如下圖所示。
我正在嘗試為浮點數中的每一行轉換每個列表以進行一些計算和圖表,但我得到了
ValueError: could not convert string to float: 'Location'
當我使用
df_float = map(float, df)
df_float = list(df_float)
df_float
這是.info()
返回的內容:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 50 entries, 0 to 49
Data columns (total 3 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Location 50 non-null object
1 DOY 50 non-null object
2 SOB 50 non-null object
dtypes: object(3)
memory usage: 1.3+ KB
更新:22-06-2022我設法使用以下方法在Location
和DOY
列中創建它們是整數:
from ast import literal_eval
df.DOY = df.DOY.str.replace("'", '').apply(literal_eval)
df.Location = df.Location.str.replace("'", '').apply(literal_eval)
不幸的是,同樣的方法不適用於十進制,知道如何解決這個問題嗎?
嘗試類似的東西
df['Location'] = df['Location'].astype(float) #(or int)
在映射的代碼之前,因為我猜它不是可轉換的字符串。
沒有運行它,只是提供潛在的幫助。
嘗試這個:
df.Location = df.Location.apply(lambda x: [float(i) for i in x]) #or int
這會將位置列表中的每個字符串轉換為浮動
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.