Pandas Отделите категориальные и числовые функции от нескольких фреймов данных и сохраните их в новом фрейме данных

У меня есть ситуация, когда я хочу отделить категориальные и числовые функции от нескольких фреймов данных, как указано ниже (df1, df2, df3 и df4), и я хочу сохранить их в двух разных фреймах данных с именами "Cont" и "Cat" . Я ищу процесс, который зацикливается на этих нескольких кадрах данных и дает результат, который я ищу, как описано ниже. Это должно работать исключительно с использованием функциональности dtypes панд, чтобы определить, является ли столбец категориальным или числовым.

Кадры входных данных выглядят так: дф1:

Name1       Number1
ABC         123
DEF         234
XXX         456

дф2:

Name2        Number2
ABCD         1232
DEFG         2342
XXXY         4562

дф3:

Name3      Number3
AB         12
DE         23
XX         45

ЛФ4:

Name4      Number4
A          1
D          3
X          5

Вывод должен выглядеть так:

Кот:

Name1      Name2    Name3    Name4
ABC        ABCD     AB       A  
DEF        DEFG     DE       D
XXX        XXXY     XX       X 

и аналогично: продолжение:

Number1    Number2  Number3  Number4
123        1232     12       1
234        2342     23       2
456        4562     45       5

Как этого добиться?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
52
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать pandas.DataFrame.select_dtypes для создания двух фреймов данных.

Попробуй это:

out = pd.concat([df1, df2, df3, df4], axis=1)
​
cat= out.select_dtypes(include = "object") #or include = "category"
cont= out.select_dtypes(include=np.number)

# Выход :

print(cat)
  Name1 Name2 Name3 Name4
0   ABC  ABCD    AB     A
1   DEF  DEFG    DE     D
2   XXX  XXXY    XX     X

print(cont)
   Number1  Number2  Number3  Number4
0      123     1232       12        1
1      234     2342       23        3
2      456     4562       45        5

Другие вопросы по теме

Вычисление общего количества значений на основе одного и того же идентификатора в фрейме данных pandas
Загрузка большого файла (800 МБ) с URL-адреса в корзину GCS с использованием облачной функции
Как показать текст из третьего столбца фрейма данных при наведении курсора на линейную диаграмму, состоящую из двух других столбцов?
Как сводная/сводная таблица кадра данных pandas с несколькими значениями столбца
Панды создают категориальный столбец на основе ранга в группе
Как преобразовать столбец dataframe, который содержит список словаря, в отдельные столбцы?
Используйте pandas groupby для группировки нескольких столбцов
Как применить нечеткое сопоставление к столбцу фрейма данных с несколькими списками и сохранить результаты в новом столбце
Как разделить набор данных с пиками и найти площадь под этими пиками?
Как преобразовать массив локального времени в массив UTC?