如何解析字符串,使用Pandas读取CSV时使用的相同逻辑进行转换?例如,将“False”转换为 bool
会给出False
。我有用户输入的文本值需要插入到DataFrame中,它们应该自动转换为正在插入的列的dtype,使用这种逻辑。下面的示例尝试将一个值插入到布尔列中,但结果是错误的。
import pandas as pd
x = pd.DataFrame([{'id': 0, 'flag': True},
{'id': 1, 'flag': False},
{'id': 2, 'flag': True}])
text = "False"
value = x['flag'].dtype.type(text) # Want this to be False not True
x.loc[0, 'flag'] = value
True
而不是False
。 - pyjamaseval
,但它不像read_csv
背后的逻辑那样宽容,因为大小写很重要,所以"false"会失败,其他dtypes也有类似的注意事项。在json示例中,您可能需要编辑的一个小问题是,在json.loads
之后仍然需要转换为正确的dtype,例如,如果用户文本为"0",则json.loads
将其转换为0
,但仍需要将其转换为False
。 - pyjamas