繁体   English   中英

Pandas dataframe:使用条件和切片字符串创建新列

Pandas dataframe: create new column using conditional and slicing string

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有这段代码创建一个新的 dataframe 列,首先使用条件,然后使用固定的切片索引(0、5)切片一些字符串:

df.loc[df['operation'] == 'dividend', ['order_adj']] = df['comment'].str.slice(0, 5)

但是,我需要在这段代码的最后使用str.find()来根据其字符在df['comment']上拥有一个动态切片索引,而不是使用固定的切片索引。

当我通过广播创建一个新列时,我找不到正确的 sintaxe 以inside str.slice()中使用str.find('some_string') ) 。 谢谢。

1 个回复

使用split的选项:

df['comment'].str.split("some_string").str[0]

或使用正则表达式的选项(将捕获组移动到您想要的包含/独占的位置):

pandas.Series.str.extract("(.*?)some_string")
pandas.Series.str.extract("(.*?some_string)")
5 创建新列并放置条件值pandas数据帧

我有数据帧: 和字典: 我需要添加另一列并用df ['cluster'] == key的字典中的值填充它 我尝试过使用np.where 崩溃说应该给出x和y两者或两者都不应该给出 我的最终目标是根据集群和类标签计算真正的正面,真正的负面因素,FP和FN。 这 ...

6 通过在数据帧转置时从另一列中切片字符串来创建新列 python pandas

我正在尝试从一列中切片一个子字符串并将其放入另一列中。 我已阅读多个链接,但存在此问题是因为我将要处理的数据框是转置。 (这是一个最小的可重复示例,原始数据框很大,我只能处理转置数据)。 df (如何为这个问题生成 df,示例 df,最小可重现例如。) 其他信息: dft1 的预期输 ...

9 如何使用for循环在pandas数据框中的现有列上创建条件列

我有一个包含两列的数据集,我想创建第三列,该列说明前两列的值是否相同,并为每行命名相同的值。 示例数据: 我想要的最终结果如下所示: 即添加一个新列,该列首先说明Colour_1和Colour_2列何时匹配,其次说明共享值(红色,蓝色或绿色)。 到目前为止,我的方法是 ...

10 将Pandas DataFrame切片为新的DataFrame

我想使用布尔索引对DataFrame进行切片,以获取副本,然后独立于原始DataFrame在该副本上执行操作。 从这个答案来看,使用布尔数组选择.loc会给我一个副本,但是,如果我尝试更改副本, SettingWithCopyWarning会妨碍您。 那么这将是正确的方法: ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM