首页 > 解决方案 > 为特定日期创建具有给定动态公司名称的数据框

问题描述

我有一个包含 12 列数据的数据框,包括“公司名称”和“日期”等列。现在,我需要一个在给定季度结束日期包含 50 家公司(Nifty 50)的数据框。对于指定的给定日期,我需要 50 行。

举个小例子:

对于 31-12-2009,我想要我拥有的 100 家公司中以下 10 家公司的数据。

company_list_1 = ['a','b','c','d','e','f','g','h','i','j']

现在,对于下一个日期,即 31-03-2010,我有一个新的公司列表,其中列出了我需要其数据的公司。

company_list_2 = ['a','b','c','l','m','n','o','x','y','z']

在我拥有的 100 家公司的数据中,我有这样的 40 个静态日期,其中有 50 家动态变化的公司。

输入数据样本

第一个日期的示例输出

我需要 40 个这样的日期和公司过滤器的输出。

标签: pythonpandasdataframefor-loop

解决方案


您可以执行该df.loc[]功能,您可以在其中传递由 . 添加的两个条件&。例如,如果您有数据框df并且您有公司列表company=['a','b','c']并且想要过滤数据,date=31-12-2009那么您的代码将是,

df.iloc[(df['company_name'].isin(company)) & (df['NDP_Date']==date)]

小心使用括号。


推荐阅读