![](/img/trans.png)
[英]How to convert a dataframe column of type string to list of type tuple
[英]Convert a column in a dataframe from type string to tuple
我有一個 dataframe 'data',其中有一列 'city' 似乎是一個元組。 但是,當我嘗試訪問它的元素時,它會出現在字符串中。 如下所示:
data.city[0]
output 是:
“(0,['紐約','德里','曼谷'])”
顯然,所有項目都是字符串格式。
我想要 output 如下:
(0, ['紐約', '德里', '曼谷'])
我怎樣才能做到這一點?
謝謝
您可以使用ast.literal_eval
import ast
x = ast.literal_eval("(0, ['New York', 'Delhi', 'Bangkok'])")
print(x)
print(type(x))
Output:
(0, ['New York', 'Delhi', 'Bangkok'])
<class 'tuple'>
在您的情況下,您可以使用:
data.city = data.city.apply(ast.literal_eval)
使用ast.literal_eval
。 盡管如果您有一個空字符串,它可能會引發異常。 因此,將其包裝在str
function 中應該是謹慎的:
from ast import literal_eval
df['city'] = df.city.apply(lambda x: literal_eval(str(x)))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.