繁体   English   中英

根据另一个的结构在熊猫中创建新的列

[英]Creating a new columns in pandas based on the structure of the other

我有一个数据表,看起来像这样:

F    M

f1   m1
f1   m2
f1   m3
f2   m1
f3   m1
f3   m2

并且我需要添加由str类型的对象组成的第三列。 因此该表应如下所示:

F    M   B

f1   m1  'b1'
f1   m2  'b2'
f1   m3  'b3'
f2   m1  'b1'
f3   m1  'b1'
f3   m2  'b2'

在大熊猫中这样做的正确方法是什么? 有类似的问题,但是我找不到类似的任务,也无法弄清楚如何构造此B列。

编辑

抱歉,不清楚。 表中的所有值(f {i}和m {i})都是一些字符串。

尝试使用groupby.cumcount ,它实际上给出了每个F的行号,然后可以将行号与诸如b的字母连接起来:

df['B'] = 'b'+df.groupby('F').cumcount().add(1).astype(str)

df
#    F   M   B
#0  f1  m1  b1
#1  f1  m2  b2
#2  f1  m3  b3
#3  f2  m1  b1
#4  f3  m1  b1
#5  f3  m2  b2

暂无
暂无

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

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