DataFrame 列包含不是数字的字符 - 如何转换为整数?

DataFrame column contains characters that are not numbers - how to convert to integer?

我有以下问题:我有一个如下所示的数据框:

甲乙

0 1 [5]

1 3 [1]

2 3 [118]

3 5 [34]

现在,我需要 B 列只包含数字,否则我无法处理数据。我已经尝试使用替换功能并简单地将“[]”替换为“”,但没有成功。

还有别的办法吗?也许我可以将整列转换为仅将数字保留为整数?这比去掉括号还要好。

非常感谢任何帮助,我已经坚持了 2 小时了。

如果您的 B 列包含字符串,请使用:

df['B'] = df['B'].str[1:-1].astype(int)

如果您的 B 列包含一个元素的列表,请使用:

df['B'] = df['B'].str[0]

更新

df['B'] = df['B'].str.extract(r'\[(.*)\]', expand=False).astype(int)