簡體   English   中英

將字符串的行列表轉換為在熊貓中浮動

[英]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我設法使用以下方法在LocationDOY列中創建它們是整數:

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.

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