我正在考虑在这种情况下最好的方法。 我试图查看4列均为时间戳的列。
Col_A Col_B Col_A1 Col_B1
Timestamp Timestamp Timestamp Timestamp
我正在寻找在函数中创建if语句的最佳方法,该语句查找Col_A
和Col_B
之间的时间越早,然后越早col
中的哪个时间,我想在Col_A1
和Col_B1
中找到更早的值。
例如,如果Col_A
中的时间戳早于Col_B
中的时间戳,我想查看Col_A1
的时间戳是否早于Col_B1
,那么我想要一个新列显示为1。
基本上,我试图查看前两列中对应于后两列中时间戳的更早时间戳是更早还是较晚。
例如,如果A B_1然后2。那么无论前两列中的时间戳是什么,我都想看看该col时间戳是否更早在后两列中。
答案 0 :(得分:1)
我相信您需要numpy.select
并具有&
的链接条件,以便按位操作:
m1 = df['Col_A'] < df['Col_B']
m2 = df['Col_A1'] < df['Col_B1']
m3 = df['Col_A1'] > df['Col_B1']
df['new'] = np.select([m1 & m2, m1 & m3], [1,2], default=0)
如果日期不相等:
m1 = df['Col_A'] < df['Col_B']
m2 = df['Col_A1'] < df['Col_B1']
#~m2 is like df['Col_A1'] >= df['Col_B1']
df['new'] = np.select([m1 & m2, m1 & ~m2], [1,2], default=0)