Как экспортировать несколько исключений на основе одного столбца - PullRequest
0 голосов
/ 06 октября 2019

Я пытался экспортировать несколько исключений на основе значения одного столбца. Например:

import pandas as pd
df = pd.DataFrame({'state':['PA','PA','TX','TX'],'county':['Centre','Berks','Austin','Taylor'],'a':[4,3,2,1],'b':[3,4,5,6]})
df

Как экспортировать этот кадр данных в несколько экземпляров на основе атрибута столбца "состояние". Например, для экспорта отдельного Excel только с «state» = «PA», а другой Excel с «state» = «TX». Спасибо.

1 Ответ

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

решение для n элементов в столбце state.

1. представьте, что это ваш фрейм данных

import pandas as pd
df = pd.DataFrame({'state':['PA','PA','TX','TX','RX'],'county':['Centre','Berks','Austin','Taylor','Mike'],'a':[4,3,2,1,0],'b':[3,4,5,6,7]})
print(df)

  state  county  a  b
0    PA  Centre  4  3
1    PA   Berks  3  4
2    TX  Austin  2  5
3    TX  Taylor  1  6
4    RX    Mike  0  7

2. идея: Series.unique

df['state'].unique()

array(['PA', 'TX', 'RX'], dtype=object)

, как вы можете видеть уникальное возвращаетразличные и неповторимые элементы, присутствующие в серии.


3. Для цикла

вы можете использовать for loop для фильтрации кадра данных на основе уникальных state элементов, возвращаемых уникальными:

for state in df['state'].unique():
    print(df[df['state'].eq(state)])
    print('-'*20)

      state  county  a  b
0    PA  Centre  4  3
1    PA   Berks  3  4
--------------------
  state  county  a  b
2    TX  Austin  2  5
3    TX  Taylor  1  6
--------------------
  state county  a  b
4    RX   Mike  0  7

4 отправить в Excel

for state in df['state'].unique():
    df[df['state'].eq(state)].to_excel(state+'.xlsx')

при использовании DataFrame.eq , DataFrame.ne и оператор ~

Мое предложение в вашем комментарии об использовании ~ состоит в том, что было только два состояния.

следующие выражения эквивалентны:

~df.eq(a)
 df.ne(a)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...