[英]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.