我试图得到计数的特殊字符列使用Pandas。但没有得到期望的输出。
我的.txt文件是:
str
Aa
Bb
?? ?
###
字符串
我的代码是:
import pandas as pd
df=pd.read_csv('inn.txt',sep='\t')
def count_special_char(string):
special_char = 0
for i in range(len(string)):
if(string[i].isalpha()):
continue
else:
special_char = special_char + 1
df["new"]=df.apply(count_special_char, axis = 0)
print(df)
型
输出为:
str new
0 Aa NaN
1 Bb NaN
2 ?? ? NaN
3 ### NaN
型
所需输出为:
str new
0 Aa NaN
1 Bb NaN
2 ?? ? 4
3 ### 3
型
怎么办?
2条答案
按热度按时间vybvopom1#
你可以在一行中这样做:
字符串
如果你使用apply over dataframe,你必须访问你想要的列,并告诉
apply
遍历行,如下所示:型
ruyhziif2#
让我们尝试使用
np.where
代替循环:个字符