Python 替换未正确删除对象变量类型
我试图删除Python 替换未正确删除对象变量类型,python,pandas,Python,Pandas,我试图删除第一个变量中值的“:30”部分。第一个变量数据类型是object 以下是First变量和计数的几个示例,忽略计数: 11a 211 7p 178 4p 127 2:30p 112 11:30a 108 1p 107 12p 105 9a 100 10p 85 2p 24 10:30a 12 6p 5 9:30a 2 9p
第一个变量中值的“:30”部分。第一个变量数据类型是object
以下是First
变量和计数的几个示例,忽略计数:
11a 211
7p 178
4p 127
2:30p 112
11:30a 108
1p 107
12p 105
9a 100
10p 85
2p 24
10:30a 12
6p 5
9:30a 2
9p 2
12:30a 2
8p 2
我编写了以下代码,运行时没有任何错误;但是,当我运行值计数时,它仍然以“:30”显示时间。NewFirst
变量数据类型是int64。不太确定我在这里做错了什么
bad_chars = ":30"
DF["NewFirst"] = DF.First.replace(bad_chars,'')
DF["NewFirst"].value_counts()
所需输出的NewFirst
值如下:
11a 211
7p 178
4p 127
2p 112
11a 108
1p 107
12p 105
9a 100
10p 85
2p 24
10a 12
6p 5
9a 2
9p 2
12a 2
8p 2
您不应该在bad\u chars
中的字符上循环。这将删除所有3
和0
字符,因此10p
将变成1p
,而3a
将变成a
您应该只替换整个坏字符
字符串,而不使用循环
您还需要使用.str
访问器
DF["NewFirst"] = DF["First"].str.replace(bad_chars,'')
谢谢,但是这段代码仍然没有改变输出,NewFirst变量仍然包含有“:30”的值。我还更新了我的帖子以反映您的代码。不要删除原始代码,现在我的答案没有任何意义,因为它指的是问题中不再出现的内容。我想您需要.str
,我已经更新了答案。