dataframe копирует строку в новый dataframe, если он содержит определенную строку c - PullRequest
0 голосов
/ 13 июля 2020

у меня есть этот фрейм данных:

name id country 
Jeff  -   -
Lisa  -   -

если df ['id'] содержит эту строку (-), я хочу, чтобы вся строка была скопирована в новый фрейм данных. Как я могу это сделать?

Ответы [ 2 ]

2 голосов
/ 13 июля 2020
import pandas as pd
df=pd.DataFrame({
    'name':['A','B','C','D','E'],
    'ID': ['a','b','-','-','e'],
    'country':['usa','sa','-','uk','-']
                         })

Фрейм данных выглядит так

    name    ID  country
0   A      a    usa
1   B      b    sa
2   C      -    -
3   D      -    uk
4   E      e    -

Индексируйте столбцы идентификаторов, в которых присутствует -

new_id=df[df['ID']=='-']

Результат

    name    ID  country
2   C       -   -
3   D       -   uk

Если хотите чтобы найти все остальные строки, в которых и страна, и идентификатор имеют -, вы можете сделать это

new_df=df[(df['ID']=='-') & (df['country']=='-')]

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

    name    ID  country
2   C        -   -
0 голосов
/ 13 июля 2020

Это должно сработать:

 df_new = df.loc[df.loc[df.ID == "-", 'ID'].index.values]                                             
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...