Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在日期值数据框上显示Idxmax_Python_Pandas_Datetime - Fatal编程技术网

Python 在日期值数据框上显示Idxmax

Python 在日期值数据框上显示Idxmax,python,pandas,datetime,Python,Pandas,Datetime,给定此数据帧: import matplotlib.pyplot as plt import pandas as pd df = pd.DataFrame({'Date':['20/03/17 10:30:34','20/03/17 10:31:24','20/03/17 10:34:34'], 'Value':[4,7,5]}) df['Date'] = pd.to_datetime(df.Date) df Out[53]:

给定此数据帧:

import matplotlib.pyplot as plt
import pandas as pd
df = pd.DataFrame({'Date':['20/03/17 10:30:34','20/03/17 10:31:24','20/03/17 10:34:34'],
                   'Value':[4,7,5]})

df['Date'] = pd.to_datetime(df.Date)
df
Out[53]: 
                 Date  Value
0 2017-03-20 10:30:34      4
1 2017-03-20 10:31:24      7
2 2017-03-20 10:34:34      5
我正在尝试提取最大值及其索引。我可以通过
df.value.max()
获取最大值,但是当我使用
df.idxmax()
获取值的索引时,我会得到一个类型错误:

TypeError:float()参数必须是字符串或数字

有没有其他方法可以获取数据帧最大值的索引?(或者用什么方法来纠正这个问题?

因为它应该是:

df.Value.idxmax()

然后返回1。

您必须指定要从哪个列获得最大值idx

要获取最大值的idx,请使用:

df.Value.idxmax()
如果要获取最长日期的idx,请使用:

df.Date.idxmax()

如果您只关心
列,则可以使用:

df.Value.idxmax()
>>> 1
但是,奇怪的是,它在具有
df.idxmax()
的两列上都失败了,因为以下操作也起作用:

df.Date.idxmax()
>>> 2
df.idxmax()
也适用于其他一些虚拟数据:

dummy = pd.DataFrame(np.random.random(size=(5,2)))
print(dummy)    

    0           1
0   0.944017    0.365198
1   0.541003    0.447632
2   0.583375    0.081192
3   0.492935    0.570310
4   0.832320    0.542983

print(dummy.idxmax())

0    0
1    3
dtype: int64
df.idxmax()
仍应工作,不会引发错误。