這個問題在這里已經有了答案: 洗掉 Pandas 值中的所有引號 3 個答案 8 小時前關閉。
我有一個資料框,其中一列有這樣的行:
'["user1", "user2" ... ]'
我希望它看起來像這樣:
["user1", "user2" ... ]
我想這樣做,使用strip(),但我不知道如何在brancets中寫“'”。
df.col = df.col.str.strip("")
請幫忙。
uj5u.com熱心網友回復:
您可以使用eval函式來實作這一點。給定一個字串,eval將其決議為 python 運算式。
例子:
>>> str_items = '["user1", "user2"]'
>>> items = eval(str_items)
>>> type(items)
<class 'list'>
從示例中我們可以看到字串運算式被轉換為python串列。
要將 eval 應用于資料框列中的所有專案,我們可以使用apply函式。
>>> import pandas as pd
>>> frame = pd.DataFrame()
>>> frame["items"] = [ '["user1", "user2"]', '["user1", "user2"]']
現在我已經構建了一個類似于你的資料框。唯一剩下的就是我們需要將框架列中的所有專案轉換為串列。
>>> frame["items"] = frame["items"].apply(eval)
>>> type(frame['items'][0])
<class 'list'>
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/430268.html
