簡體   English   中英

使列行 python

[英]make columns rows python

你好我有以下代碼:

for j in range(8):                                                         
    b=fran[fran.Año.isin([2020]) & fran.Channel.isin(['CANAL 5'])&fran.Week.isin([j])]  
    c=b[['hour','number']]  
    print(c)  

我得到 output:

    |hour| number
   1|12-1|3.1
   2|1-3 |2.3
   3|3-7 |4.6
    |hour| number
   4|7-11|2
   1|12-1|1.2
   2|1-3 |3
   3|3-7 |1.1
   4|7-11|5.6
   ...
    |hour| number
   1|12-1|1
   2|1-3 |1.2
   3|3-7 |5.4
   4|7-11|2.2

我想幫助獲得以下 output:

 | hour | number1| number2|...|numbern|
1|12-1  |3.1     | 1.2    |...| 1
2|1-3   |2.3     | 3      |...| 1.2
3|3-7   |4.6     | 1.1    |...| 5.4
4|7-11  |2       | 5.6    |...| 2.2

將您的代碼更改為

l=[]
for j in range(8):                                                         
    b=fran[fran.Año.isin([2020]) & fran.Channel.isin(['CANAL 5'])&fran.Week.isin([j])]  
    l.append(b[['hour','number']].set_index('hour').rename(columns={'number' : 'number' + str(j)}))

然后做concat

df=pd.concat(l),axis=1).reset_index()

暫無
暫無

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

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