Форум программистов, компьютерный форум, киберфорум
Python: Научные вычисления
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
1 / 1 / 0
Регистрация: 02.05.2022
Сообщений: 80

Как дропнуть те столбцы, которые имеют числовые значения или стринговые значения?

04.07.2022, 08:10. Показов 1743. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как дропнуть те столбцы, которые имеют числовые значения или стринговые значения?
Отдельно сделать для числовых и стринговых значений
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
import pandas as pd
 
df = pd.DataFrame.from_dict({'Name'  : ['May21', 'James', 'Adi22', 'Hello', 'Girl90'],
                             'Volume': [23, 12, 11, 0, 56],
                             'Value' : [21321, 12311, 4435, 32454, 654654]})
print(df)
 
     Name  Volume   Value
0   May21      23   21321
1   James      12   12311
2   Adi22      11    4435
3   Hello       0   32454
4  Girl90      56  654654
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.07.2022, 08:10
Ответы с готовыми решениями:

Group by как обьединить стринговые значения?
Хотелось бы в Примечание добавлять значения из Обозначение? Что бвывает похожее Sum только для стрингового значения чтобы в Примечание в...

Как заменить числовые значения в таблице или запросе на ноль или пустые ячейки
Приветствую всех. У меня чем тупее проблема, тем труднее копать. Нужно заменить числа в поле запроса/таблицы на 0 или пусто, т. е....

Если при каком-либо х некоторые из выражений не имеют смысла, вывести сообщение об этом и сравнивать значения только тех, которые имеют смысл
Помогите плз Если при каком-либо х некоторые из выражений не имеют смысла, вывести сообщение об этом и сравнивать значения только тех,...

14
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
04.07.2022, 16:09
Лучший ответ Сообщение было отмечено timaKazh как решение

Решение

По поводу числовых:
Python
1
2
from pandas.api.types import is_numeric_dtype
df.drop([column for column in df.columns if is_numeric_dtype(df.dtypes[column])], axis =1)
По поводу "стринговых" проясните, что конкретно имеете в виду.
Если что, столбец "Name" в данном конкретном примере имеет тип object, а не string

Python
1
2
3
4
5
6
df.dtypes
 
Name      object
Volume     int64
Value      int64
dtype: object
1
1 / 1 / 0
Регистрация: 02.05.2022
Сообщений: 80
04.07.2022, 16:10  [ТС]
Ой, имел ввиду данные значения ['May21', 'James', 'Adi22', 'Hello', 'Girl90']
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
04.07.2022, 16:19
Лучший ответ Сообщение было отмечено timaKazh как решение

Решение

Можете по аналогии
Python
1
2
from pandas.api.types import is_string_dtype
df.drop([column for column in df.columns if is_string_dtype(df[column])], axis =1)
1
1 / 1 / 0
Регистрация: 02.05.2022
Сообщений: 80
06.07.2022, 05:21  [ТС]
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
lst = [['MSSubClass', 'MSZoning', 'LotArea', 'Street', 'LotShape', 'LandContour', 'Utilities', 'LotConfig', 'LandSlope', 'Neighborhood', 'Condition1', 'Condition2', 'BldgType', 'HouseStyle', 'OverallQual', 'OverallCond', 'YearBuilt', 'YearRemodAdd', 'RoofStyle', 'RoofMatl', 'Exterior1st', 'Exterior2nd', 'MasVnrType', 'MasVnrArea', 'ExterQual', 'ExterCond', 'Foundation', 'BsmtQual', 'BsmtCond', 'BsmtExposure', 'BsmtFinType1', 'BsmtFinSF1', 'BsmtFinType2', 'BsmtFinSF2', 'BsmtUnfSF', 'TotalBsmtSF', 'Heating', 'HeatingQC', 'CentralAir', 'Electrical', '1stFlrSF', '2ndFlrSF', 'LowQualFinSF', 'GrLivArea', 'BsmtFullBath', 'BsmtHalfBath', 'FullBath', 'HalfBath', 'BedroomAbvGr', 'KitchenAbvGr', 'KitchenQual', 'TotRmsAbvGrd', 'Functional', 'Fireplaces', 'GarageType', 'GarageYrBlt', 'GarageFinish', 'GarageCars', 'GarageArea', 'GarageQual', 'GarageCond', 'PavedDrive', 'WoodDeckSF', 'OpenPorchSF', 'EnclosedPorch', '3SsnPorch', 'ScreenPorch', 'PoolArea', 'MiscVal', 'MoSold', 'YrSold', 'SaleType', 'SaleCondition', 'SalePrice'], ['60', 'RL', '8450', 'Pave', 'Reg', 'Lvl', 'AllPub', 'Inside', 'Gtl', 'CollgCr', 'Norm', 'Norm', '1Fam', '2Story', '7', '5', '2003', '2003', 'Gable', 'CompShg', 'VinylSd', 'VinylSd', 'BrkFace', '196', 'Gd', 'TA', 'PConc', 'Gd', 'TA', 'No', 'GLQ', '706', 'Unf', '0', '150', '856', 'GasA', 'Ex', 'Y', 'SBrkr', '856', '854', '0', '1710', '1', '0', '2', '1', '3', '1', 'Gd', '8', 'Typ', '0', 'Attchd', '2003', 'RFn', '2', '548', 'TA', 'TA', 'Y', '0', '61', '0', '0', '0', '0', '0', '2', '2008', 'WD', 'Normal', '208500'], ['20', 'RL', '9600', 'Pave', 'Reg', 'Lvl', 'AllPub', 'FR2', 'Gtl', 'Veenker', 'Feedr', 'Norm', '1Fam', '1Story', '6', '8', '1976', '1976', 'Gable', 'CompShg', 'MetalSd', 'MetalSd', 'None', '0', 'TA', 'TA', 'CBlock', 'Gd', 'TA', 'Gd', 'ALQ', '978', 'Unf', '0', '284', '1262', 'GasA', 'Ex', 'Y', 'SBrkr', '1262', '0', '0', '1262', '0', '1', '2', '0', '3', '1', 'TA', '6', 'Typ', '1', 'Attchd', '1976', 'RFn', '2', '460', 'TA', 'TA', 'Y', '298', '0', '0', '0', '0', '0', '0', '5', '2007', 'WD', 'Normal', '181500']]
 
Это list с колонками и мы преобразуем в DataFrame pd_data. У меня не получилось все данные списка вместить, поэтому такой сокращенный вариант.
 
 
from pandas.api.types import is_string_dtype
def split_str_nums(data):
 
    lst_integer = []
    type_of_string = data.drop([column for column in data.columns if is_string_dtype(data.dtypes[column])], axis =1)
    print(type_of_integer)
    
 
str_data=split_str_nums(pd_data)
 
 
Вывод:
Empty DataFrame
Columns: []
Index: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 92, 93, 94, 95, 96, 97, 98, 99, 101, 102, 104, 105, 106, 107, 108, 110, ...]
 
[1338 rows x 0 columns]

У меня выходит почему-то такой ответ?
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
06.07.2022, 06:17
timaKazh, в вашем примере ничего непонятно.
Что вы подаете в split_str_nums? А в коде эта функция ничего не возвращает, а только печатает и опять непонятно что
1
1 / 1 / 0
Регистрация: 02.05.2022
Сообщений: 80
06.07.2022, 06:20  [ТС]
так я подаю pf_data(которую мы преобразовали в DataFrame с list) в data
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
06.07.2022, 06:30
timaKazh,
Покажите, как вы это делаете.
Функция split_str_nums ничего не возвращает.
В самой функции какие-то несвязанные с собой вещи делаете

Добавлено через 2 минуты
В ней 3 строчки. Ни одна к другой никакого отношения не имеет
Летят крокодилы, один зеленый, другой на север. Почем килограмм бузины, в Киеве дядька с кошкой
Примерно вот такое.
1
1 / 1 / 0
Регистрация: 02.05.2022
Сообщений: 80
06.07.2022, 06:35  [ТС]
Python
1
2
3
4
5
6
7
8
9
10
11
from pandas.api.types import is_string_dtype
 
res = pd_data.drop([column for column in pd_data.columns if is_string_dtype(pd_data.dtypes[column])], axis =1)
print(res)
 
Вывод:
Empty DataFrame
Columns: []
Index: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 92, 93, 94, 95, 96, 97, 98, 99, 101, 102, 104, 105, 106, 107, 108, 110, ...]
 
[1338 rows x 0 columns]
Я вот делаю без функции, такой же ответ выводит, не могу понять где у меня ошибка, хотя с тем же примером dictionary все получалось
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
06.07.2022, 06:46
В pd_data что???

Python
1
2
print(pd_data.head())
print(pd_data.info(verbose=True))
1
1 / 1 / 0
Регистрация: 02.05.2022
Сообщений: 80
06.07.2022, 06:53  [ТС]
В pd_data Датафрейм данных с list lst.

Python
1
2
print(df.head())
print(pd_data .info(verbose=True)
я вывел данный код, и у меня Dtype все object. В этом ошибка?
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
06.07.2022, 07:17
Цитата Сообщение от timaKazh Посмотреть сообщение
и у меня Dtype все object
Ну что вы хотели?
Попробуйте в коде функции поменять
Python
1
res = pd_data.drop([column for column in pd_data.columns if is_string_dtype(pd_data.dtypes[column])], axis =1)
На
Python
1
res = pd_data.drop([column for column in pd_data.columns if is_string_dtype(pd_data[column])], axis =1)
Добавлено через 1 минуту
Но что лежит в pd_data тоже хочется взглянуть
1
1 / 1 / 0
Регистрация: 02.05.2022
Сообщений: 80
06.07.2022, 07:50  [ТС]
получается в этом вся проблема да? мне с ним получается надо разобраться?
"я вывел данный код, и у меня Dtype все object. В этом ошибка?"
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
06.07.2022, 07:54
Лучший ответ Сообщение было отмечено timaKazh как решение

Решение

timaKazh, да. Весь вопрос в том, как вы формируете pd_data и как мы определяем, что столбец "строковый" - по свойству Dtype либо по содержимому
0
1 / 1 / 0
Регистрация: 02.05.2022
Сообщений: 80
06.07.2022, 08:22  [ТС]
все, спасибо большое, буду разбираться теперь. Спасибо за терпение!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.07.2022, 08:22
Помогаю со студенческими работами здесь

Записать в двоичный файл столбцы массива, у которых первый и последний элементы имеют одинаковые значения
Создать двоичный файл и записать в него двумерный целочисленный массив размером n×m. Записать в двоичный файл F2 те столбцы массива, у...

Удвоить те числа, которые имеют нечетные значения
Даны три действительных числа. Удвоить из них те , которые имеют нечетные значения. Оформить как функцию , изменяющую значения параметров. ...

Вывести индексы элементов массива, которые имеют одинаковые значения
Составить программу, которая формирует массив двухзначных чисел из 10 элементов (задать с клавиатуры), выводит индексы элементов, которые...

Выполнить выборку из БД, с параметрами, которые имеют значения, отличные от нуля
у меня есть несколько dropdownlist на странице. Там могут быть выставлены пустые значения (dropdownlist.selectedvalue = 0) и все остальные....

Определить количество чисел в массиве, которые имеют заданные значения в разрядах 48, 32 и 16
Задание 2: Составить программу для определения количества двоичных чисел X, которые имеют заданные значения 0, 1 и 0 двоичных разрядов с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru