17

Выбор нескольких колонок в DataFrame Pandas

17

Как выбрать столбцы a и b из df и сохранить их в новом датафрейме df1? У меня есть следующий датафрейм:

index  a   b   c
1      2   3   4
2      3   4   5

Я делал несколько попыток, но они оказались неудачными:

df1 = df['a':'b']
df1 = df.ix[:, 'a':'b']

Как правильно извлечь столбцы a и b и сохранить их в df1?

5 ответ(ов)

0

В последней версии Pandas существует простой способ сделать именно это. Названия столбцов (которые являются строками) можно обрезать любым удобным для вас способом.

columns = ['b', 'c']
df1 = pd.DataFrame(df, columns=columns)

Таким образом, вы можете выбирать нужные столбцы, указав их имена в списке.

0

Чтобы создать новый DataFrame в pandas, содержащий только определенные столбцы из исходного DataFrame, вы можете использовать следующий код. Допустим, у вас есть DataFrame df, который выглядит следующим образом:

import pandas as pd

data = {
    'index': [1, 2],
    'a': [2, 3],
    'b': [3, 4],
    'c': [4, 5]
}

df = pd.DataFrame(data)

Вывод будет следующим:

   index  a  b  c
0      1  2  3  4
1      2  3  4  5

Чтобы выбрать только столбцы 'b' и 'c', вы можете создать новый DataFrame df1, как показано ниже:

df1 = df[['b', 'c']]

После выполнения этого кода, df1 будет выглядеть так:

   b  c
0  3  4
1  4  5

Таким образом, вы сможете отобразить только интересующие вас столбцы из исходного DataFrame.

0

Чтобы выбрать столбцы в DataFrame с помощью Pandas, вы можете использовать несколько методов в зависимости от ваших потребностей.

Если вы хотите выбрать столбцы по именам, вы можете сделать это следующим образом:

dataframe[['column1', 'column2']]

Если вам нужно выбрать столбцы по их индексам с использованием iloc, вы можете сделать это так:

dataframe.iloc[:, [1, 2]]

Кроме того, вы можете использовать loc, чтобы выбрать столбцы по их именам:

dataframe.loc[:, ['column1', 'column2']]

Таким образом, вы можете выбирать столбцы из DataFrame как по именам, так и по индексам, в зависимости от ваших требований.

0

Вы можете использовать метод pandas.DataFrame.filter, чтобы отфильтровать или переупорядочить столбцы следующим образом:

df1 = df.filter(['a', 'b'])

Это также очень полезно, когда вы используете цепочку методов.

0

Вы можете использовать библиотеку Pandas.

Сначала создайте DataFrame:

import pandas as pd
df = pd.DataFrame([[1, 2, 5], [5, 4, 5], [7, 7, 8], [7, 6, 9]],
                  index=['Jane', 'Peter', 'Alex', 'Ann'],
                  columns=['Test_1', 'Test_2', 'Test_3'])

Полученный DataFrame будет выглядеть так:

       Test_1  Test_2  Test_3
Jane        1       2       5
Peter       5       4       5
Alex        7       7       8
Ann         7       6       9

Чтобы выбрать один или несколько столбцов по их именам, вы можете сделать следующее:

df[['Test_1', 'Test_3']]

Вы получите:

       Test_1  Test_3
Jane        1       5
Peter       5       5
Alex        7       8
Ann         7       9

Также вы можете использовать:

df.Test_2

И получите столбец Test_2:

Jane     2
Peter    4
Alex     7
Ann      6

Вы также можете выбирать столбцы и строки из этих строк, используя .loc(). Это называется "срез". Обратите внимание, что я беру от столбца Test_1 до Test_3:

df.loc[:, 'Test_1':'Test_3']

Результат будет:

       Test_1  Test_2  Test_3
Jane        1       2       5
Peter       5       4       5
Alex        7       7       8
Ann         7       6       9

Если вы хотите выбрать только Peter и Ann из столбцов Test_1 и Test_3, вы можете использовать:

df.loc[['Peter', 'Ann'], ['Test_1', 'Test_3']]

Результат будет:

       Test_1  Test_3
Peter       5       5
Ann         7       9
Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь