【问题标题】: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

【讨论】:

    猜你喜欢
    • 2023-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-15
    • 1970-01-01
    • 2020-05-23
    • 1970-01-01
    相关资源
    最近更新 更多