【问题标题】:Assigning a boolean value to a blank series in a pandas data frame based on a count of values in a string in another series/根据另一个系列中字符串中的值的计数,将布尔值分配给熊猫数据框中的空白系列/
【发布时间】:2019-02-17 16:36:57
【问题描述】:
如果第一列仅包含一个句点,我想为当前列分配一个布尔值“True”,如果它包含多个句点,则为“False”。
这就是我在这一点上得到的,我完全被困住了:
for index, row in qbstats.iterrows():
if qbstats['qb'].count(".") > 1
......所以如果它大于一,我想将标记为"num_periods_in_name" 的列分配为False,否则设置为True。
如果有任何帮助,我将不胜感激,谢谢。
【问题讨论】:
标签:
python
pandas
loops
boolean
assign
【解决方案1】:
你可以使用np.where():
df['New Col'] = np.where(df['qb'].str.count('\.')>1, False, True)
注意,您还需要使用 \ 转义 .。
下面是一个例子:
qb
0 Hello.
1 helloo...
2 hello...ooo
3 Hell.o
应用上面的代码给出:
qb New Col
0 Hello. True
1 helloo... False
2 hello...ooo False
3 Hell.o True