我具有以下两个属性A和B。我想根据创建时间从每组重复记录中获取最新记录。
我尝试使用MAX函数来执行此操作,但是灵活搜索不支持MAX函数。任何帮助将不胜感激?
Table : ABC
A B
100 11
100 11
100 11
200 12
200 12
300 13
Result :
100 11
200 12
300 13
答案 0 :(得分:2)
您可以使用import pandas as pd
de=pd.read_csv('deal_level_data.csv')
import numpy as np
N = 24
de.index = de.index * (N + 1)
de = de.reindex(np.arange(de.index.max() + N + 1))
def convert_int_with_NaNs(x):
try:
return x.astype('Int64')
except Exception:
return x
de = de.apply(convert_int_with_NaNs)
for j in range(0, 14):
for i in range(0, len(de.index)):
if i % 25 == 0:
for a in range(1, 25):
de.iloc[i + a, j] = de.iloc[i, j]
函数来做到这一点。请按以下说明使用它
max
答案 1 :(得分:1)
如果您要选择具有MAX(creationTime)的行,但要按SQL中的A列进行区分,那么您可以尝试这样的操作
SELECT t1.*
FROM ABC t1
JOIN
({{
SELECT {aCol}, MAX(creationTime) AS maxDateTime
FROM ABC
GROUP BY {aCol}
}}) as t2
ON t1.aCol = t2.aCol
AND t1.creationTime = t2.maxDateTime