Экспорт нескольких фреймов данных с предложением groupby в один CSV-файл - PullRequest
0 голосов
/ 25 сентября 2019

У меня есть такая таблица:

Student Board ID      School     Grade by School    Grade in Boards
1                      ABC          A                           A
2                      ABC          B                           C
3                      XYZ          C                           C
4                      ABC          D                           D
5                      GHI          E                           E

и т. Д.

Вопрос:

Список школ, в которых оба класса одинаковы (Школаоценка = A и CBSE оценка = A, а также и т. д.)

Код:

df = pd.DataFrame("School grades List.csv")
aa = df['Grade by School'].eq('A') & workbook['Grade in Boards'].eq('A')
aa1=aa.groupby(df['School']).sum()

df = pd.DataFrame("School grades List.csv")
bb = df['Grade by School'].eq('B') & workbook['Grade in Boards'].eq('B')
bb1=bb.groupby(df['School']).sum()

and so on....

Что я хочу:

Экспорт всех этихразличные кадры данных в один файл CSV с пустой строкой между двумя кадрами данных.

School Name    #Cases where both grades are A
ABC               1.0
XYZ               2.0
GHI               10.0  

School Name    #Cases where both grades are B
ABC               2.0
XYZ               4.0
GHI               30.0  

School Name    #Cases where both grades are C
ABC               19.0
XYZ               21.0
GHI               11.0  

и т. д. в одном файле CSV

До сих пор пробовал: согласно комментариям включены заголовок = True ипереименовать опцию, но не повезло

[IN]
aa1.to_csv('aa1.csv', header=True)
[OUT]

    School     0
    ABC       1.0
    XYZ       2.0
    GHI       10.0

Может кто-нибудь помочь с , как получить имена столбцов в верхней части каждого файла (даже если мы не можем объединить несколько файлов в 1 CSV).

Вывод с переименованием выглядит следующим образом:

[IN]
 aa1.rename(index={0:'School', 1: 'Cases where both grades are A'})

[OUT]
   School      0
    ABC       1.0
    XYZ       2.0
    GHI       10.0

Например, каждый файл должен выглядеть следующим образом:

School Name    #Cases where both grades are A
    ABC       1.0
    XYZ       2.0
    GHI       10.0

и т. Д.

Ответы [ 2 ]

1 голос
/ 25 сентября 2019

Чтобы экспортировать заголовки, используйте header = True при вызове to_csv ().

Что касается объединения всего в один файл, может быть лучший способ, но, если вы вызываете to_csv () без передачи имени файла возвращает строку с CSV, и вы можете создать строку со всеми CSV (добавляя пустые строки между ними). ​​

1 голос
/ 25 сентября 2019

Составьте список фреймов данных, а затем сконцентрируйтесь по оси = 0, попробуйте следующий код:

import pandas as pd
data = [aa1,bb1]
df = pd.concat(data, ignore_index=True)
df.to_csv('file.csv', header=True, index=False)

Надеюсь, это поможет!

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