Вывод моего groupby
имеет столбцы, даже если набор данных пуст.
Учитывая это, у меня есть набор данных ниже, и я сохранил его в файле *.csv
:
dict = {
'facility':[],
'patient_ID':[],
'year':[],
'month':[],
'polyp_No':[]
}
dt = pd.DataFrame(dict)
dt.to_csv("test.csv", sep=',', encoding='utf-8', index=False)
, а затем я прочитал этот файл, как показано ниже:
dt = pd.read_csv("test.csv")
print(dt) # Just to observe columns
print("----------------------------")
Наконец, когда я выполняю простую группировку и распечатываю набор данных
dt = dt.groupby(by=['facility','patient_ID','year','month'], as_index=False).sum()
print(dt)
Он печатает приведенный ниже набор данных с НЕТ столбцов:
Empty DataFrame
Columns: []
Index: []
Мой вопрос: почему нет столбца? Я ожидал увидеть столбцы!
Точка:
Если вы удалите строки чтения и записи, появятся столбцы, поэтому я считаю, что это может быть проблема read_csv
и to_csv
, но я не знаю, как ее решить! Пожалуйста, попробуйте следующий код
dict = {
'facility':[],
'patient_ID':[],
'year':[],
'month':[],
'polyp_No':[]
}
dt = pd.DataFrame(dict)
#dt.to_csv("test.csv", sep=',', encoding='utf-8', index=False)
#dt = pd.read_csv("test.csv")
#print(dt)
#print("----------------------------")
dt = dt.groupby(by=['facility','patient_ID','year','month'], as_index=False).sum()
print(dt)