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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何防止 pandas loc 轉(zhuǎn)置單個(gè)項(xiàng)目數(shù)據(jù)框

如何防止 pandas loc 轉(zhuǎn)置單個(gè)項(xiàng)目數(shù)據(jù)框

繁花不似錦 2023-05-16 14:25:35
當(dāng)我對(duì)單個(gè)元素 DataFrame 對(duì)象執(zhí)行 loc 時(shí),它被轉(zhuǎn)置并轉(zhuǎn)換為 float64 類型。這是要重現(xiàn)的示例代碼:from pandas import read_excel, DataFrameimport pandas as pdimport numpy as nprowNames = ['Name0', 'Name1', 'Name2', 'Name3']df = DataFrame(    [[3, 1366.436, 9.0],    [3, 179.090, 14.0],    [1, 322.297, 9.0],    [1, 1604.821, 31.0],    [8, 346.920, 20.0],    [1, 2408.365, 31.0],    [1, 765.352, 9.0],    [1, 2295.521, 26.0],    [8, 636.895, 20.0]],    index=['Name0','Name0','Name1','Name1','Name1','Name2','Name3','Name3','Name3'],    columns=['Layer', 'Length', 'Width']    )for i in range(len(rowNames)):    print("Name = " +  str(rowNames[i]))    nDF = df.loc[rowNames[i]]    print(str(nDF) + "\n")注意索引“Name2”發(fā)生了什么,因?yàn)樗挥幸豁?xiàng):Name = Name0           Layer    Length  Width     Name0      3  1366.436    9.0   Name0      3   179.090   14.0   Name = Name1           Layer    Length  Width     Name1      1   322.297    9.0    Name1      1  1604.821   31.0   Name1      8   346.920   20.0   Name = Name2    Layer        1.000   Length    2408.365   Width       31.000   Name: Name2, dtype: float64   Name = Name3           Layer    Length  Width     Name3      1   765.352    9.0   Name3      1  2295.521   26.0   Name3      8   636.895   20.0    這會(huì)導(dǎo)致代碼后面的下游出現(xiàn)混亂。也許這種轉(zhuǎn)換行為是預(yù)期的——但有沒有辦法覆蓋它?編輯以修復(fù)格式......希望它現(xiàn)在看起來更好(列排列了一點(diǎn))。
查看完整描述

2 回答

?
人到中年有點(diǎn)甜

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個(gè)贊

您可以將一個(gè)列表傳遞給loc保證返回?cái)?shù)據(jù)幀的列表:


for i in range(len(rowNames)):

    print("Name = " +  str(rowNames[i]))

    nDF = df.loc[rowNames[i:i+1]]  # difference here

    print(str(nDF) + "\n")

輸出:


Name = Name0

       Layer    Length  Width

Name0      3  1366.436    9.0

Name0      3   179.090   14.0


Name = Name1

       Layer    Length  Width

Name1      1   322.297    9.0

Name1      1  1604.821   31.0

Name1      8   346.920   20.0


Name = Name2

       Layer    Length  Width

Name2      1  2408.365   31.0


Name = Name3

       Layer    Length  Width

Name3      1   765.352    9.0

Name3      1  2295.521   26.0

Name3      8   636.895   20.0


查看完整回答
反對(duì) 回復(fù) 2023-05-16
?
繁星coding

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個(gè)贊

我喜歡這一個(gè):

nDF = df.loc[df.index == rowNames[i], :]

但總的來說,我更愿意將 Name* 放在一個(gè)額外的列中,而不是使用具有重復(fù)值的索引。


查看完整回答
反對(duì) 回復(fù) 2023-05-16
  • 2 回答
  • 0 關(guān)注
  • 125 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

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