我想在 Pandas 上創(chuàng)建一個(gè)與我在 C 列上擁有的信息相關(guān)的新列,并想創(chuàng)建一個(gè) D 列。我擁有的數(shù)據(jù)有 50k 列,所以我無(wú)法手動(dòng)完成。數(shù)據(jù)樣本是 ; A B C 12 12 3:02 13 13 2:02 14 14 3:03 15 15 1:04 16 16 2:05我需要將值從冒號(hào)符號(hào)中的 C 列分為 2 個(gè)部分;如果第一個(gè)值大于第 1 行中的第二個(gè)值 == 3>02,則 D 列值上的值將為 A如果兩個(gè)值相等,如第 2 行和第 3 行 (2:02/3:03) 上的值如果第二個(gè)值大于第一個(gè)值,如第 4 行和第 5 行(1:04 /2:05),D 列值將為B所以新數(shù)據(jù)看起來(lái)像 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貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超8個(gè)贊
與由andnumpy.select
創(chuàng)建的新 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
添加回答
舉報(bào)
0/150
提交
取消