在将 str.findall()
应用于 pandas 数据框的列后,我想出了方括号中的值(更像是 list
)。如何删除方括号?
print df
id value
1 [63]
2 [65]
3 [64]
4 [53]
5 [13]
6 [34]
原文由 DougKruger 发布,翻译遵循 CC BY-SA 4.0 许可协议
在将 str.findall()
应用于 pandas 数据框的列后,我想出了方括号中的值(更像是 list
)。如何删除方括号?
print df
id value
1 [63]
2 [65]
3 [64]
4 [53]
5 [13]
6 [34]
原文由 DougKruger 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果是字符串,我们也可以使用 string.replace 方法
import pandas as pd
df =pd.DataFrame({'value':['[63]','[65]','[64]']})
print(df)
value
0 [63]
1 [65]
2 [64]
df['value'] = df['value'].apply(lambda x: x.replace('[','').replace(']',''))
#convert the string columns to int
df['value'] = df['value'].astype(int)
#output
print(df)
value
0 63
1 65
2 64
print(df.dtypes)
value int32
dtype: object
原文由 qaiser 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.3k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
4 回答1.5k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答960 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
如果列中的值
value
具有类型list
,请使用:要么:
文件。
样本:
如果
strings
使用str.strip
然后通过astype
转换为数字:样本: