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

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

數(shù)據(jù)幀轉(zhuǎn)換后保留標(biāo)題

數(shù)據(jù)幀轉(zhuǎn)換后保留標(biāo)題

猛跑小豬 2021-11-09 16:15:04
我正在使用帶有一些微陣列的 sklearn 和 Pandas,并且我有一個(gè) Pandas DataFrame,其中每一列都已命名。所以我正在對(duì)數(shù)據(jù)框做一些轉(zhuǎn)換,本質(zhì)上是特征選擇。data = pd.read_csv("data.txt")print(data)導(dǎo)致    1007_s_at  1053_at       ...         AFFX-TrpnX-5_at  AFFX-TrpnX-M_at0     3.96932  2.52634       ...                 2.09691          1.991231     4.10452  2.43457       ...                 2.28103          2.064462     3.95308  2.36736       ...                 2.11059          1.806183     3.99712  2.55388       ...                 2.13354          1.919084     3.95279  2.21484       ...                 2.22531          2.03342..        ...      ...       ...                     ...              ...96    3.79560  2.74194       ...                 2.01703          2.0374397    3.79817  2.47422       ...                 2.12385          2.0718898    3.84186  2.59329       ...                 2.16435          1.69897[99 rows x 22283 columns]正如我們所見,每一列都有一個(gè)名稱。然后我用 VarianceThreshold 方法刪除了一些列data = VarianceThreshold(0.04).fit_transform(data)print(data)print("After Variance Threshold data shape: ", data.shape)所以新數(shù)據(jù)看起來像[[4.1835  2.20952 2.41664 ... 2.21748 2.69197 2.41996] [3.82478 2.2878  1.69897 ... 1.87506 2.09691 2.35411] [4.1503  2.32015 2.35793 ... 2.01284 2.2833  2.15534] ... [3.85576 3.26694 2.71684 ... 2.68305 3.18298 2.83378] [3.25912 2.04922 2.58092 ... 2.0607  2.66932 2.42325] [3.34044 2.24551 2.60097 ... 2.03743 2.31806 2.35984]]After Variance Threshold data shape:  (99, 5002)現(xiàn)在,數(shù)據(jù)是一個(gè) numpy 數(shù)組,我丟失了原始數(shù)據(jù)幀中保留的每一列的標(biāo)題。有沒有辦法讓它們與熊貓/numpy?
查看完整描述

1 回答

?
幕布斯6054654

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

您可以使用get_support獲取掩碼而不是結(jié)果:


In [11]: df = pd.DataFrame([[0, 2, 0, 3], [0, 1, 4, 3], [0, 1, 1, 3]], columns=list("ABCD"))


In [12]: df

Out[12]:

   A  B  C  D

0  0  2  0  3

1  0  1  4  3

2  0  1  1  3


In [13]: VarianceThreshold().fit(df).get_support()

Out[13]: array([False,  True,  True, False])


In [14]: df.loc[:, VarianceThreshold().fit(df).get_support()]

Out[14]:

   B  C

0  2  0

1  1  4

2  1  1

在你的例子中:


df.loc[:, VarianceThreshold(0.04).fit(data).get_support()]


查看完整回答
反對(duì) 回復(fù) 2021-11-09
  • 1 回答
  • 0 關(guān)注
  • 187 瀏覽
慕課專欄
更多

添加回答

舉報(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)