鉴于此DataFrame:
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:
TypeError:float()参数必须是字符串或数字
有没有其他方法可以获取Dataframe的Max值的索引? (或者以任何方式纠正这个?)
答案 0 :(得分:2)
因为它应该是:
id: page_name
locale: uk_en
----
<div> placeholder placeholder placeholder placeholder placeholder placeholder</div>
<span>placeholder placeholder placeholder placeholder placeholder placeholder </span>
<p>Needle</p>
然后返回1.
答案 1 :(得分:1)
您必须指定要从哪个列获取最大值-idx。
要获得maxumum值的idx:
public static AType ExtensionMethods(this AType aType)
{
//do something here to aType
return aType;
}
如果你想得到最大日期使用的idx:
df.Value.idxmax()
答案 2 :(得分:1)
如果您只关心Value
列,则可以使用:
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