2014-04-30 37 views
2

说我是因为总结了在不同的公司一个数据帧:如何使用变量值来调用数据框?

summary=pandas.DataFrame(columns=['Company Name', 'Formation Date', 'Revenue', 'Profit', 'Loss']) 

然后说每家公司在数据帧都有其相应的数据帧,该公司的名字命名,给人一种更深入的图片公司的历史和统计数据。喜欢的东西:

exampleco=pandas.Dataframe(columns=['Date', 'Daily Profit', 'Daily Loss', 'Daily Revenue']) 

我有处理summary数据帧的每一行的脚本,但我想从row['Company Name']抢名称,并用它来访问公司的数据框本身。

换句话说,我很乐意,如果有一些工作是这样的:

. 
. 
>>> company=row['Company Name'] 
>>> pandas.get_dataframe_from_variable(company) 

Empty DataFrame 
Columns: ['Date', 'Daily Profit', 'Daily Loss', 'Daily Revenue'] 
Index: [] 

[0 rows x 2 columns] 
. 
. 

的我怎么可能会得到这个工作将是非常赞赏的任何想法。

提前致谢!

+0

这些数据框是否存在或您想要生成它们? – EdChum

+0

@EdChum嗨Ed。不,它们存在,我只是使用上面的语法来试图简洁地说明问题的关键;尽管我看到它可能有点混乱。 – neanderslob

+1

好吧我想我明白你在问什么,这里的问题是,名称存储为字符串,你不能评估这些数据框我认为他们是字符串,而不是数据框,即使你使用'ast.literal_eval'你可以只评估字符串,数字,元组,列表,字典,布尔值和无的结构。因此,您可以将数据框存储在数据框中,或者仅使用名称作为键和数据框来构建数据框的字典,作为值我认为是最好的方法 – EdChum

回答

1

您可以使用dictionary来包含您的数据框并使用字符串作为关键字。

companies = {'company1':pandas.DataFrame(columns=['Date', 'Daily Profit', 
               'Daily Loss', 'Daily Revenue']), 
      'company2':pandas.DataFrame(columns=['Date', 'Daily Profit', 
               'Daily Loss', 'Daily Revenue'])} 

company=row['Company Name'] # Get your company name as a string from your summary. 
company_details = companies[company] # Returns a DataFrame. 
相关问题