返回列表中按名称筛选的列的最后一个值

2024-04-27 13:47:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一个数据集:

DATE,OPTION,SELL,BUY,DEAL
2015-01-01 11:00:01, blah1,0,1,open
2015-01-01 11:00:01, blah2,0,1,open
2015-01-01 11:00:01, blah3,0,1,open
2015-01-01 11:00:02, blah1,0,1,open
2015-01-01 11:00:02, blah2,0,1,open
2015-01-01 11:00:02, blah3,0,1,open

我在《熊猫》杂志上读到:

df = pd.DataFrame.from_csv(csv_data)

没问题。你知道吗

您将如何返回最后一个“卖出”价值的“blah2”?你知道吗

谢谢


Tags: csv数据dataframedfdatebuyopenpd
3条回答

b[b['OPTION']=='blah2'].iloc[-1]['SELL']

您可以按选项对其进行分组,并获得给定组的最后一行,如下所示:

import pandas as pd

df = pd.read_csv('data.csv')

grouped_df = df.groupby('OPTION')

print(grouped_df.get_group(' blah2').tail(1))

这将提供:

4  2015-01-01 11:00:02   blah2     0    1  open

(df[df['OPTION'] == 'blah2']).tail(1)['SELL']

要获取所有期权的最后卖出价值,请执行以下操作:

df[['SELL','OPTION']].groupby("OPTION").apply(lambda x: x.tail(1))

相关问题 更多 >