Я работаю со sklearn и pandas с некоторыми микрочипами, и у меня есть DataFrame pandas с каждым именованным столбцом.Итак, я делаю некоторые преобразования в фрейм данных, по сути, выбор объектов.
data = pd.read_csv("data.txt")
print(data)
В результате
1007_s_at 1053_at ... AFFX-TrpnX-5_at AFFX-TrpnX-M_at
0 3.96932 2.52634 ... 2.09691 1.99123
1 4.10452 2.43457 ... 2.28103 2.06446
2 3.95308 2.36736 ... 2.11059 1.80618
3 3.99712 2.55388 ... 2.13354 1.91908
4 3.95279 2.21484 ... 2.22531 2.03342
.. ... ... ... ... ...
96 3.79560 2.74194 ... 2.01703 2.03743
97 3.79817 2.47422 ... 2.12385 2.07188
98 3.84186 2.59329 ... 2.16435 1.69897
[99 rows x 22283 columns]
Как мы видим, у каждого столбца есть имя.
Затем я удаляю некоторые столбцы с помощью метода VarianceThreshold
data = VarianceThreshold(0.04).fit_transform(data)
print(data)
print("After Variance Threshold data shape: ", data.shape)
Таким образом, новые данные выглядят как
[[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)
Теперь данные представляют собой массив numpy, и я потерялзаголовки каждого столбца, который остается от исходного кадра данных.
Есть ли способ сохранить их с помощью панд / numpy?