簡體   English   中英

在循環中創建熊貓數據框

[英]Creating pandas dataframes within a loop

我試圖根據文件和數據框名稱的列表創建大約120個數據框。 問題在於,循環工作后,數據幀將不會保留。 我的代碼可以在下面找到。 有誰知道為什么這可能行不通?

for fname, dfname in zip(CSV_files, DF_names):
    filepath = find(fname, path)
    dfname = pd.DataFrame.from_csv(filepath)

這是python功能。 參見以下簡單示例:(注釋顯示輸出)

 values = [1,2,3]
 for v in values:
     print v,
 # 1 2 3
for v in values:
    v = 4
    print v, 
# 4 4 4
print values
# [1, 2, 3]
# the values have not been modified

還要看看這個SO問題和答案: 不允許在Python中修改列表迭代器嗎?

注釋中建議的解決方案應該可以更好地工作,因為您無需修改​​迭代器。 如果您需要一個名稱來訪問數據框,則還可以使用字典:

dfs = {}
for fname, dfname in zip(CSV_files, DF_names):
    filepath = find(fname, path)
    df = pd.DataFrame.from_csv(filepath)
    dfs[dfname] = df
print dfs[DF_names[1]]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM