第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

無法打印多索引數(shù)據(jù)框以使用合并單元格表現(xiàn)出色

無法打印多索引數(shù)據(jù)框以使用合并單元格表現(xiàn)出色

慕萊塢森 2023-03-08 17:31:07
我有一個數(shù)據(jù)框df,如下所示:Date        ConstraintType  Col1    Col22020-07-15  N-S             w1      5211332020-07-15  N-S             w2      5502602020-07-15  CSD             d1      5224172020-07-15  CSD             d2      5345422020-07-15  A               d4      5349052020-07-15  B               d5      534904數(shù)據(jù)幀的索引是:df.indexOut[6]: MultiIndex([('2020-07-15',  'N-S'),            ('2020-07-15',  'N-S'),            ('2020-07-15',  'CSD'),            ('2020-07-15',  'CSD'),            ('2020-07-15', 'A'),            ('2020-07-15', 'B')],           names=['Date', 'ConstraintType'])但是當我將它打印成 excel 時,它顯示如下:我期待以下內(nèi)容:我正在使用以下代碼:df.to_excel(r'C:\Users\ram\Desktop\z1.xlsx', merge_cells=True)
查看完整描述

2 回答

?
一只名叫tom的貓

TA貢獻1906條經(jīng)驗 獲得超3個贊

從提供的 DataFrame 中:

  1. 用于.reset_index()從索引中刪除索引列

  2. 使用where, 和.shift將所有單元格值設(shè)為空白,除了這些值在列Date和中的第一次出現(xiàn)ConstraintType。

  3. 最后,使用.set_index將它們放回索引中,這次只有一個未重復的值并寫入to_excel。現(xiàn)在,merge_cells=True 應(yīng)該工作了。

代碼:

df=df.reset_index()

df['Date'] = df['Date'].where(df['Date'] != df['Date'].shift(), '')

df['ConstraintType'] = df['ConstraintType'].where(df['ConstraintType'] != df['ConstraintType'].shift(), '')

df = df.set_index(['Date', 'ConstraintType'])

df.to_excel(r'C:\Users\ram\Desktop\z1.xlsx', merge_cells=True)

輸出:

http://img1.sycdn.imooc.com//6408561d00016f1202820170.jpg

查看完整回答
反對 回復 2023-03-08
?
婷婷同學_

TA貢獻1844條經(jīng)驗 獲得超8個贊

在熊貓中,最里面的索引必須標記每一行。因此,必須手動處理最內(nèi)層的索引,如@David Erickson 的回答所示。Pandas 自動隱藏外部索引;看下面的例子:


import pandas as pd


tuples = [["2020-07-15", "N-S"],

          ["2020-07-15", "N-S"],

          ["2020-07-15", "CSD"],

          ["2020-07-15", "CSD"],

          ["2020-07-15", "A"],

          ["2020-07-15", "B"]

         ]


index = pd.MultiIndex.from_tuples(tuples, names=['Date', 'ConstraintType'])


df = pd.DataFrame([

    ["w1", 521133],

    ["w2", 550260],

    ["d1", 522417],

    ["d2", 534542],

    ["d4", 534905],

    ["d5", 534904],

], columns=["Col1", "Col2"],

   index=index

)


print(df, '\n'*2)

print(df.swaplevel(0,1))

退貨:


                          Col1    Col2

Date       ConstraintType             

2020-07-15 N-S              w1  521133

           N-S              w2  550260

           CSD              d1  522417

           CSD              d2  534542

           A                d4  534905

           B                d5  534904



                          Col1    Col2

ConstraintType Date                   

N-S            2020-07-15   w1  521133

               2020-07-15   w2  550260

CSD            2020-07-15   d1  522417

               2020-07-15   d2  534542

A              2020-07-15   d4  534905

B              2020-07-15   d5  534904

重置索引,清理以前的多索引列,然后保存到 Excel,無需設(shè)置 merge_cells 選項:


df = df.reset_index(drop=False)

row_filt = df['ConstraintType'].eq(df['ConstraintType'].shift())

df.loc[row_filt, 'ConstraintType'] = ''

row_filt = df['Date'].eq(df['Date'].shift())

df.loc[row_filt, 'Date'] = ''


df.to_excel(r'C:\Users\ram\Desktop\z1.xlsx')

生成以下 Excel:

http://img1.sycdn.imooc.com//640856300001896b04750160.jpg

查看完整回答
反對 回復 2023-03-08
  • 2 回答
  • 0 關(guān)注
  • 92 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號