我有一个包含以下内容的数据框,
Reading
Date
2020-05-09 14:54:00 13661
2020-05-09 14:55:00 13672
2020-05-09 14:56:00 14251
2020-05-09 14:59:00 15255
我已经弄清楚了如何提取最后一个元素:
lastelement =(series [“阅读”] .iloc [-1])
这给了我“ 15255”
注意:第一列是索引,而不是数据帧中的列。
所以我也想提取相同元素的索引值(在读数列中可能不是唯一的),即“ 2020-05-09 14:59:00”
我可以帮忙吗?
谢谢
(原谅我,如果我的问题很差,这是我在stackoverflow上的第一篇文章!-我通常可以从此处提出的所有其他问题/答案中得出答案)
答案 0 :(得分:0)
答案 1 :(得分:0)
您可以尝试以下代码:-
data = [['2020-05-09 14:54:00', 13661],
['2020-05-09 14:55:00', 15255],
['2020-05-09 14:55:00', 13672],
['2020-05-09 14:56:00', 15255],
['2020-05-09 14:56:00', 14251],
['2020-05-09 14:59:00', 15255]]
df = pd.DataFrame(data, columns=["Date","Reading"])
df.set_index("Date",inplace=True)
last_element=df.Reading[len(df)-1]
last_element_indices = list(df[df["Reading"]==last_element].index.tolist())
print("Last Element :",last_element)
print("Indices :", last_element_indices)
预期输出:-
Last Element : 15255
Indices : ['2020-05-09 14:55:00', '2020-05-09 14:56:00', '2020-05-09 14:59:00']
希望这可以解决您的问题。
答案 2 :(得分:0)
将数据帧与过滤后的值进行比较,squeeze将其获得布尔数组,并对索引进行索引以获取ur值:
df.index[df.eq(df.iloc[-1]).squeeze()]
Index(['2020-05-09 14:55:00', '2020-05-09 14:56:00', '2020-05-09 14:59:00'], dtype='object', name='Date')
答案 3 :(得分:-1)
用于读取和索引准确值。
尝试:
df.tail(1).Reading.values[0]
df.tail(1).Date.values[0]