簡體   English   中英

將 dataframe 中的列從字符串類型轉換為元組

[英]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.

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