代替:
a=pd.DataFrame()
d=pd.DataFrame()
c=pd.DataFrame()
d=pd.DataFrame()
e=pd.DataFrame()
一次一次。有没有一种快速的方法可以用空的数据框初始化所有变量?因为最终我想使用for循环将数据帧值分配给
var_names=[a,b,c,d,e]
基本上,我需要将较大的数据框的值分配给具有目标名称的小数据框(可能是复杂的名称,只是为了便于理解)
variables=[ag_2018,al_2018,au_2018,bu_2018,cu_2018,fu_2018,hc_2018,
ni_2018,pb_2018,rb_2018,ru_2018,sn_2018,sp_2018,wr_2018,
zn_2018]
for var in variables:
var=(a portion of a much bigger dataframe)
这些是我的代码。 Python不允许我显示错误:ag_2018未定义。
我看到了一些使用dict的建议,因为我对dict不太熟悉,所以有人可以提供更多有关如何应用它的详细信息。谢谢。
答案 0 :(得分:1)
假设您必须制作n
个空数据框并将其放入列表中,您可以借助列表理解来做类似的事情。
n = 10
df_list = [pd.DataFrame() for x in range(n)]
您可以使用dict
进行类似操作,以便可以使用非int键,
import pandas as pd
df_dict = dict(('df_' + str(x), pd.DataFrame()) for x in range(10))
答案 1 :(得分:0)
如果您正在寻找DataFrames的列表,则应该能够使用如下列表理解来做到这一点:
[pd.Dataframe() for var in var_names]
答案 2 :(得分:0)
如果要使用字典:
SELECT category.cat_id AS catId, category.cat_parent_id AS catParentId,
subcategory.cat_id AS subcatId,subcategory.cat_parent_id AS subcatParentId,
category.cat_name,
CONCAT( IFNULL(subcategory.cat_parent_id, category.cat_parent_id),
category.cat_parent_id, category.cat_id, category.cat_name) AS sorter
FROM ticket_categories AS category
LEFT JOIN ticket_categories AS subcategory ON subcategory.cat_parent_id =
category.cat_id
GROUP BY category.cat_id
ORDER BY sorter
= ['a','b','c','d']`
df_names
然后通过以下方式使用df_list = [pd.DataFrame() for df in df_names]
和dict()
通过两个列表对字典进行类型转换:
zip()
答案 3 :(得分:-1)
您可以尝试下面的两个代码。
import pandas as pd
df_list = ['a', 'b', 'c', 'd', 'e']
for i in df_list:
i = pd.DataFrame()