Создать Dataframe из существующего Dataframe, используя список столбцов - PullRequest
0 голосов
/ 30 сентября 2019

Я новичок во фреймах данных и Python. У меня есть существующий фрейм данных с 16 столбцами. У меня есть список столбцов, которые я хочу (это изменится, так что имена столбцов будут в списке). Могу ли я создать новый фрейм данных, используя список и исходный фрейм данных?

Это то, что я пробовал:

df = df.select([c for c in df.columns 
                    if c not in columns])
    return df

Сообщение об ошибке:

TypeError:объект 'list' не может быть вызван

Ответы [ 2 ]

0 голосов
/ 01 октября 2019

Как уже было предложено в комментариях к вашему вопросу, вы можете использовать список для нарезки кадра данных.

columns = ... # your list of columns to exclude
df_result = df_init.loc[:, [c for c in df_init if c not in columns]].copy()

Добавление .copy() представляется хорошей практикой - в противном случае, если вы изменитеваше df_result, это изменение может перейти к df_init.

0 голосов
/ 30 сентября 2019

Вы можете использовать метод "reindex":

df=pd.DataFrame({f"col{i}": i  for i in range(6)}, index=list(range(6)) ) # test data

df:
   col0  col1  col2  col3  col4  col5
0     0     1     2     3     4     5
1     0     1     2     3     4     5
2     0     1     2     3     4     5
3     0     1     2     3     4     5
4     0     1     2     3     4     5
5     0     1     2     3     4     5

reqcols=["col1","col5","col0"]                                                                                      
df2= df.reindex(reqcols,axis="columns")                                                                                  
df2: 
   col1  col5  col0
0     1     5     0
1     1     5     0
2     1     5     0
3     1     5     0
4     1     5     0
5     1     5     0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...