[英]Pandas: Find index of max string value in a column
我有一些字符串格式的時間值。 我想在列中返回最近或“最大”時間的值。 我注意到argmax和idmax不適用於字符串。 我想避免將它們轉換為找到最大值的索引。 有沒有辦法返回最大字符串值的索引?
df['Start_time'].max()
返回:'2017-05-02 15:47:21'
df.loc[df['Start_time'].idxmax()]
返回:ValueError:無法將字符串轉換為float:'2017-01-26 16:33:16'
如果不想轉換為datetime
,則可以將boolean indexing
與具有max
列進行比較:
print (df[df['Start_time'] == df['Start_time'].max()])
對於索引,可以使用:
df.index[df['Start_time'] == df['Start_time'].max()][0]
要么:
df[df['Start_time'] == df['Start_time'].max()].index[0]
來源DF:
In [60]: df
Out[60]:
Start_time
0 2017-05-01 16:16:16
1 2017-05-02 15:47:21
2 2017-05-01 10:10:10
解決方案1:
In [61]: df.iloc[df['Start_time'].values.argmax()]
Out[61]:
Start_time 2017-05-02 15:47:21
Name: 1, dtype: object
解決方案2:
In [62]: df.loc[pd.to_datetime(df['Start_time']).idxmax()]
Out[62]:
Start_time 2017-05-02 15:47:21
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.