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

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

將字典的字典轉(zhuǎn)換為具有數(shù)據(jù)類型的數(shù)據(jù)框

將字典的字典轉(zhuǎn)換為具有數(shù)據(jù)類型的數(shù)據(jù)框

尚方寶劍之說 2023-12-09 15:37:37
將字典字典轉(zhuǎn)換為具有數(shù)據(jù)類型的數(shù)據(jù)框的首選方法是什么?我有以下類型的字典r,其中包含每個鍵背后的事實集import pandas as pdr = { 1:{'a':1,'b':2,'c':'b'},      2:{'d':1,'b':1,'c':'b'},      3:{'e':0} }可以通過非常簡單的方式將字典的字典轉(zhuǎn)換為數(shù)據(jù)框x = pd.DataFrame(r)xx.dtypes這會在原始詞典詞典上產(chǎn)生以下版本     1    2    3a    1  NaN  NaNb    2    1  NaNc    b    e  NaNd  NaN    1  NaNe  NaN  NaN  0.0以及列的以下數(shù)據(jù)類型1     object2     object3    float64dtype: object但是,我想在x. 這樣做之后y = x.transpose()yy.dtypes數(shù)據(jù)的預(yù)期表示似乎以矩陣形式顯示     a    b    c    d    e1    1    2    b  NaN  NaN2  NaN    1    e    1  NaN3  NaN  NaN  NaN  NaN    0但數(shù)據(jù)類型都是objecta    objectb    objectc    objectd    objecte    objectdtype: object進行從r到 的這種轉(zhuǎn)換的首選方法是什么y,以便y.dtypes直接產(chǎn)生數(shù)據(jù)類型a    float64b    float64c    objectd    float64e    float64dtype: object類似于轉(zhuǎn)換r為x?
查看完整描述

2 回答

?
有只小跳蛙

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

只需設(shè)置正確的方向(默認為columns,您想要的index)。


df = pd.DataFrame.from_dict(r, orient='index')

a    float64

b    float64

c     object

d    float64

e    float64

dtype: object


查看完整回答
反對 回復(fù) 2023-12-09
?
飲歌長嘯

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

pandas>= 1.0.0 中,您可以使用.convert_dtypes()

>>> y.convert_dtypes().dtypes


a? ? ?Int64

b? ? ?Int64

c? ? string

d? ? ?Int64

e? ? ?Int64

dtype: object

請注意,這使用新的pandas字符串類型,并且還將用于pd.NA缺失值。有一些參數(shù)會影響某些轉(zhuǎn)換:


>>> y.convert_dtypes(convert_string=False).dtypes


a? ? ?Int64

b? ? ?Int64

c? ? object

d? ? ?Int64

e? ? ?Int64

dtype: object

如果您有舊版本pandas,您可以使用pd.to_numeric某種循環(huán)或apply,如下所示:


>>> y = y.apply(pd.to_numeric, errors='ignore') # for columns that fail, do nothing

>>> y.dtypes


a? ? float64

b? ? float64

c? ? ?object

d? ? float64

e? ? float64

dtype: object

我沒有看到一種方法可以在沒有循環(huán)的情況下在整個數(shù)據(jù)幀上強制執(zhí)行數(shù)字類型(.astype()似乎不起作用,因為錯誤要么導(dǎo)致整個轉(zhuǎn)換失敗,要么如果忽略,則返回原始數(shù)據(jù)類型)。


我剛剛看到文檔解決了.transpose() 這一點:


當(dāng) DataFrame 具有混合數(shù)據(jù)類型時,我們會得到一個具有對象數(shù)據(jù)類型的轉(zhuǎn)置 DataFrame:


轉(zhuǎn)置混合類型 DatraFrame 將返回對象類型 DataFrame。為了完整起見,復(fù)制了他們的示例:


d2 = {'name': ['Alice', 'Bob'],

? ? ? 'score': [9.5, 8],

? ? ? 'employed': [False, True],

? ? ? 'kids': [0, 0]}

df2 = pd.DataFrame(data=d2)

df2_transposed = df2.transpose()


print(df2, df2.dtypes, df2_transposed, df2_transposed.dtypes, sep='\n\n')

輸出:


? ? name? score? employed? kids

0? Alice? ? 9.5? ? ?False? ? ?0

1? ? Bob? ? 8.0? ? ? True? ? ?0


#dtypes as expected

name? ? ? ? ?object

score? ? ? ?float64

employed? ? ? ?bool

kids? ? ? ? ? int64

dtype: object


? ? ? ? ? ? ? 0? ? ?1

name? ? ? Alice? ?Bob

score? ? ? ?9.5? ? ?8

employed? False? True

kids? ? ? ? ? 0? ? ?0


#dtypes are now object

0? ? object

1? ? object

dtype: object

因此,如果您希望進行轉(zhuǎn)換,則必須包含其他命令。dtypes


查看完整回答
反對 回復(fù) 2023-12-09
  • 2 回答
  • 0 關(guān)注
  • 178 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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