我想在 Pandas 上创建一个与我在 C 列上拥有的信息相关的新列,并想创建一个 D 列。我拥有的数据有 50k 列,所以我无法手动完成。数据样本是 ; A B C 12 12 3:02 13 13 2:02 14 14 3:03 15 15 1:04 16 16 2:05我需要将值从冒号符号中的 C 列分为 2 个部分;如果第一个值大于第 1 行中的第二个值 == 3>02,则 D 列值上的值将为 A如果两个值相等,如第 2 行和第 3 行 (2:02/3:03) 上的值如果第二个值大于第一个值,如第 4 行和第 5 行(1:04 /2:05),D 列值将为B所以新数据看起来像 A B C D 2 12 3:02 A 13 13 2:02 B 14 14 3:03 B 15 15 1:04 C 16 16 2:05 C提前致谢 。
1 回答
ITMISS
TA贡献1871条经验 获得超8个赞
与由andnumpy.select
创建的新 DataFrame 一起使用:Series.str.split
expand=True
df1 = df['C'].str.split(':', expand=True).astype(int)
print(df1)
0 1
1 3 2
2 2 2
3 3 3
4 1 4
5 2 5
df['D'] = np.select([df1[0] > df1[1], df1[0] == df1[1], df1[0] < df1[1]], ['A','B','C'])
print (df)
A B C D
1 12 12 3:02 A
2 13 13 2:02 B
3 14 14 3:03 B
4 15 15 1:04 C
5 16 16 2:05 C
添加回答
举报
0/150
提交
取消