亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將字符串列表轉換為列表列表?

如何將字符串列表轉換為列表列表?

慕虎7371278 2021-12-17 16:58:03
我是編程和 stackoverflow 的新手。抱歉,這似乎太基本了。我想把這個:我正在嘗試訓練 AI 以根據歷史數據預測汽車的目的地。它在一個列內,我必須遍歷所有這些。我只列出它正在工作,但在列中,它不是出于某種原因。我正在 anaconda 的 windows 10 上嘗試這個,jupyter notebook我想把這個:lst = ['55.7492,12.5405', '55.7492,12.5405', '55.7492,12.5406', '55.7492,12.5406']進入這個lst = [[55.7492,12.5405], [55.7492,12.5405], [55.7492,12.5406], [55.7492,12.5406]]我有一個列,其中有很多 csv 文件。我試著把它們變成這樣:[[x] for x in lst][['55.7492,12.5405'], ['55.7492,12.5405'], ['55.7492,12.5406'], ['55.7492,12.5406']]所以它的工作在 csv 之外找到,但是當我嘗試為 colomn 中的每個框做它時:for stuff in data['column']:    [[x] for x in stuff]for stuff in data_train['locations']:    [map(int,x.split()) for x in stuff]列中沒有任何變化。
查看完整描述

3 回答

?
PIPIONE

TA貢獻1829條經驗 獲得超9個贊

apply與列表理解一起使用,將列表的每個值拆分,為floats并強制轉換為s:


lst = ['55.7492,12.5405', '55.7492,12.5405', '55.7492,12.5406', '55.7492,12.5406']

df = pd.DataFrame({'column':[lst,lst]})


df['locations'] = df['column'].apply(lambda x: [list(map(float,y.split(','))) for y in x])

print (df)


                                              column  \

0  [55.7492,12.5405, 55.7492,12.5405, 55.7492,12....   

1  [55.7492,12.5405, 55.7492,12.5405, 55.7492,12....   


                                           locations  

0  [[55.7492, 12.5405], [55.7492, 12.5405], [55.7...  

1  [[55.7492, 12.5405], [55.7492, 12.5405], [55.7...  


查看完整回答
反對 回復 2021-12-17
?
婷婷同學_

TA貢獻1844條經驗 獲得超8個贊

我認為最有效的方法是使用ast.literal_eval():


import ast

y = [list(ast.literal_eval(x)) for x in lst]

現在,如果您有一列包含要轉換為列表列表的字符串列表,那么您可以使用:


df['new_col'] =df['col'].apply(lambda x: [list(ast.literal_eval(y)) for y in x ])


查看完整回答
反對 回復 2021-12-17
?
眼眸繁星

TA貢獻1873條經驗 獲得超9個贊

您應該分配列表理解的輸出:

for col in columns:  # where columns is a list of your columns
    data[col] = [[x] for x in data[col]]

或者只是在一個列上,這樣做就足夠了:

data_train['locations'] = [map(int,x.split()) for x in data_train['locations']]

因為data['column']是一個元素列表,當你遍歷它時,stuff每次迭代都會有一個不同的行元素,所以不是一個列表。


查看完整回答
反對 回復 2021-12-17
  • 3 回答
  • 0 關注
  • 416 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號