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)
我有以下问题:我有一个如下所示的数据框:
甲乙
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)