我有一个列表,比如说,看起来像这样(我把它放进DF中):
[
['john', '1', '1', '2016'],
['john', '1', '10', '2016'],
['sally', '3', '5', '2016'],
['sally', '4', '1', '2016']
]
columns
是['name', 'month', 'day', 'year']
我基本上是想输出一个新的DF,每个人只有最旧的一行。所以它应该包含两行,一行是16年1月1日的john,一行是16年3月5日的sally。你知道吗
我一直很难在DF的内部进行这种选择,希望有人能提供一些关于如何实现上述目标的建议。你知道吗
您可以按
year, month, day
对数据帧排序,然后从每个name
中选取第一行:数据:
选项1 使用
pd.to_datetime
解析['year'、'month'、'day']列。groupby('name')
然后采取first
选项2
相同的
pd.to_datetime
用法。groupby('name')
使用idxmin
查找最小日期。你知道吗相关问题 更多 >
编程相关推荐