当前位置: 首页 > 面试题库 >

熊猫从另一列的字符串切片中创建新列

葛安和
2023-03-14
问题内容

我想使用在数据帧中为另一列切片的字符串在Pandas中创建新列。

例如。

Sample  Value  New_sample
AAB     23     A
BAB     25     B

New_sample由一个简单的[:1]切片组成的新列在哪里Sample

我尝试了许多尝试都无济于事-我觉得我缺少一些简单的东西。

最有效的方法是什么?


问题答案:

您可以调用该str方法并应用切片,这将比其他方法更快,因为它是矢量化的(感谢@unutbu):

df['New_Sample'] = df.Sample.str[:1]

您也可以在df上调用lambda函数,但这在较大的数据帧上会比较慢:

In [187]:

df['New_Sample'] = df.Sample.apply(lambda x: x[:1])
df
Out[187]:
  Sample  Value New_Sample
0    AAB     23          A
1    BAB     25          B


 类似资料:
  • 基于dataframe列val_1值,查看其他列col_0-10标签前缀,然后创建另一列Mycl。 数据帧看起来像: 应用逻辑后所需的数据帧: 我是trid,但这不起作用:df['mycol']=df['col'df['val_1']。aType(str)] DDL生成DataFrame: 谢谢!

  • 问题内容: 如问题所述,我有一个很大的数据框,但看起来像: 我试图摆脱文本数据,并将其替换为预定义的数值等效项。例如,在这种情况下,我想分别用或替换的或值。有没有一种方法无需我手动输入和更改值? 问题答案: / 上面的一个有趣的通用版本: 一切都不是。

  • 我有以下数据框 我想用替换和,因此最终的数据帧是 我尝试了以下方法,但不起作用:

  • 问题内容: 我对此有一个类似的问题:Pandas DataFrame:从一列中的字符串中删除不需要的部分 。 所以我用了: 大多数项目以“ PPI /”开头,但并非全部。似乎当没有’PPI /’后缀的项目遇到此错误时: AttributeError:“ float”对象没有属性“ lstrip” 我在这里想念什么吗? 问题答案: 使用replace: 或string.replace:

  • 问题内容: 我最近发现了熊猫的“分配”方法,我发现它非常优雅。我的问题是新列的名称被指定为关键字,因此它不能包含空格或破折号。 但是如果我想将新列命名为“ ln(A)”怎么办?例如 我知道我可以在.assign调用之后立即重命名该列,但是我想了解更多有关此方法及其语法的信息。 问题答案: 您可以将关键字参数传递为字典,如下所示:

  • 问题内容: 我已经尝试解决这个问题一段时间了,我试图从DB_user列中删除非ASCII字符并尝试将它们替换为空格。但是我不断出错。这是我的数据框的外观: 我正在使用此功能,这是我在研究SO问题时遇到的。 我不断收到错误: 但是,我认为通过使用filter_func函数中的循环,可以通过在’ord’中输入一个char来解决这个问题。因此,当它遇到非ASCII字符时,应将其替换为空格。 有人可以帮我