亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 Pandas 從循環輸出中加入數據幀

使用 Pandas 從循環輸出中加入數據幀

胡子哥哥 2022-10-05 18:21:10
我想從 for 循環輸出的數據幀創建一個數據幀。循環的每次迭代都會產生名為 的變量result。 result = pd.concat([df1, df2], axis=1)我想創建一個數據框,它是每個數據框的組合(彼此相鄰)result。在循環之前我創建了一個變量combined_resultscombined_results = pd.DataFrame()在循環結束時,嘗試使用 append、concat 等將每個結果存儲在該變量中,但無法使其正常工作。    combined_results = combined_results.append(result)這垂直而不是水平附加并嘗試 concat 按照result,但沒有運氣
查看完整描述

2 回答

?
忽然笑

TA貢獻1806條經驗 獲得超5個贊

pd.concat([...], axis=1)您在循環中使用的模式已經走在正確的軌道上。訣竅是將所有部分DataFrames 保存到一個列表中,然后將連接保存到最后。


我使用這樣的模式:


combined_results = []

for i in range(5):

    df1 = pd.DataFrame({f'x{i}': ['a', 'b', 'c']})

    df2 = pd.DataFrame({f'y{i}': [i, i*2, i*3]})

    result = pd.concat([df1, df2], axis=1)

    combined_results.append(result)


# Use axis=1 as before to join horizontally instead of vertically.

combined_results = pd.concat(combined_results, axis=1)


combined_results

#   x0  y0 x1  y1 x2  y2 x3  y3 x4  y4

# 0  a   0  a   1  a   2  a   3  a   4

# 1  b   0  b   2  b   4  b   6  b   8

# 2  c   0  c   3  c   6  c   9  c  12



查看完整回答
反對 回復 2022-10-05
?
哈士奇WWW

TA貢獻1799條經驗 獲得超6個贊

在你的循環中,你可以這樣做:


df_results = [] 


for ... in ...:

    result = pd.concat([df1, df2], axis=1)

    df_results.append(result)


df = pd.concat(df_results)

如果您向我們展示您從哪里獲得 df1 和 df2,也許我們可以改進這一點


查看完整回答
反對 回復 2022-10-05
  • 2 回答
  • 0 關注
  • 105 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號