我有一个数据框,我想创建一个新列,其值等于另一列中大写的总和/计数。 (最快的方式因为我有一个半木PC) 例如:
Col1 Upper
1 AfK is Bad 3
2 Afk is bad 1
3 Python better than R 2
编辑: 我试过这个:
for i in df.index:
df['Upper'].iloc[[i]] = sum(1 for c in (df['Upper'].iloc[[i]]) if c.isupper())
其中'Upper'是Col1
非常感谢!
答案 0 :(得分:4)
将pd.Series.str.count
与正则表达式[A-Z]
df.assign(Upper=df.Col1.str.count('[A-Z]'))
Col1 Upper
1 AfK is Bad 3
2 Afk is bad 1
3 Python better than R 2