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

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

用下標連接列表,python

用下標連接列表,python

明月笑刀無情 2023-04-11 16:14:06
使用@azro 代碼并僅修改 for 的索引。它不會標記我的錯誤答案,代碼工作正常,但我仍然沒有得到預期的結果,我把我的完整代碼。arch is dataframechannels=['ch1','ch1']targets=['op1','op2']l=[]m = []n = []for ch in channels:    for tar in targets:        for j in range(1,22):                                                                    df=arch[(arch.A?o.isin(a?o)) & (arch['Channel'] == ch) & (rcha['Week'] == j)]           l.append(df[['time',tar]].set_index('time').rename(columns={'time' : 'time' + str(j)}))        m.append(l)     n.append(m)a = []for i in range(len(n)):    for j in range(len(m)):        for k in range(len(l)):            a.append(n[i][j][k])a = pd.concat(a, axis=1).reset_index()通過打印“a”我得到time | op1 | op1 |...| op2 | op2 |..| op1 | op1 | op2 |..| op2 1    | 0.2 | 0.1 |   | 0.2 | 0.1 |..| 0.1 | 0.1 | 0.2 |..| 0.82    | 0.3 | 0.4 |   | 0.1 | 0.3 |..| 0.2 | 0.7 | 0.9 |..| 0.33    | 0.7 | 0.8 |   | 0.9 | 0.11|..| 0.4 | 0.8 | 0.7 |..| 0.8我是這樣的,因為我在“通道”中有兩個元素,在“目標”中有兩個元素,我需要為“ch1 with op1”、“ch1 with op2”、“ch2 with op1”、“ch2”打印一個表與 op2”。for ch1time | op1 | op1 |..1    | 0.2 | 0.1 |..  2    | 0.3 | 0.4 |..3    | 0.7 | 0.8 |time | op2 | op2 |..1    | 0.2 | 0.1 |..2    | 0.1 | 0.3 |..3    | 0.9 | 0.11|.. for ch2time | op1 | op1 | ..1    | 0.1 | 0.1 | ..2    | 0.2 | 0.7 | ..3    | 0.4 | 0.8 | ..time | op2 |..| op2 1    | 0.2 |..| 0.82    | 0.9 |..| 0.33    | 0.7 |..| 0.8
查看完整描述

3 回答

?
繁星點點滴滴

TA貢獻1803條經驗 獲得超3個贊

我認為你正在嘗試做這樣的事情:


a=n[0][0][0]

for i in range(len(n)):

    for j in range(len(n)):

        for k in range(len(n)):

            if not i==j==k==0:

                a=pd.concat((a, n[i][j][k]),axis=1).reset_index()

'a' 是您的累積串聯,因此您需要將其與下一個條目串聯


查看完整回答
反對 回復 2023-04-11
?
藍山帝景

TA貢獻1843條經驗 獲得超7個贊

如果我理解正確的話,你想要這個:

import numpy as np
a = pd.concat(np.flatten(np.array(n)), axis=1).reset_index()

如果這不起作用,請與我們分享您的n陣列的一個小樣本以使其起作用。


查看完整回答
反對 回復 2023-04-11
?
楊__羊羊

TA貢獻1943條經驗 獲得超7個贊

您需要將多個 Dataframe 傳遞給而concat不僅僅是一個,您最好一次性傳遞給它


a = []

for i in range(len(n)):

    for j in range(len(n)):

        for k in range(len(n)):

            a.append(n[i][j][k])

a = pd.concat(a, axis=1).reset_index()


查看完整回答
反對 回復 2023-04-11
  • 3 回答
  • 0 關注
  • 147 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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