Удаление столбцов данных панд - PullRequest
0 голосов
/ 28 апреля 2019

Я пытаюсь удалить столбцы из кадра данных, но не работаю.

columns_to_retain = 'name, sex, age'    # a string of columns 
                                        # which will not be dropped 
                                        # from the dataframe
x_cols = columns_to_retain.split(',') 

new_df = df.drop(columns = not x_cols)  

new_df должен сохранить данные и имя столбца, пол и возраст.

Ответы [ 2 ]

0 голосов
/ 28 апреля 2019

ответ Суяша должен работать. Если у вас есть список столбцов для вставки в строку, вам нужно позаботиться об удалении пробелов после разбиения.

df = pd.DataFrame([[4, 5, 5], [4,6,7]], columns=['a', 'b', 'c'])

to_drop = 'b, c'
to_drop_stripped = [x.strip() for x in to_drop.split(',')]
df.drop(columns=to_drop_stripped)

Result:
   a
0  4
1  4

0 голосов
/ 28 апреля 2019

Предположим, вы хотите бросить. Вы можете сделать это двумя способами.

  1. Использование удаления для удаления, например, двух столбцов a и b
import pandas as pd 
df=pd.read_csv('filename') 
df=df.drop(columns=["a","b"])

2.Выбрав only theстолбцы, которые вы хотите отобразить

import pandas as pd
 df=pd.read_csv('filename')
 new_df=df[["name","sex","age"]]

В вашем случае

columns_to_retain = 'name, sex, age'

x_cols = [col.strip() for col in columns_to_retain.split(',')]#column.strip ensures that that are no leading or trailing white space in the words

new_df=df[x_cols]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...