У меня есть датафрейм, как показано ниже, и я хотел бы переместить значения из 'phone', 'spotify' и 'rent' из нижней половины и переопределить верхнюю половину (по сути, разделив фрейм данных на два и поместив значения «расхода» на половину «дохода».
В настоящее время январь и декабрь дважды. Я хочу, чтобы это было просто 12 строк со значениями в каждой ячейке (ie нет ячейки со значением 0.0 в качестве значения ).
loan csn salary phone spotify rent
january income 1200.0 13000.0 2000.0 0.0 0.0 0.0
february income 1200.0 13000.0 2000.0 0.0 0.0 0.0
march income 1200.0 13000.0 2000.0 0.0 0.0 0.0
april income 1200.0 13000.0 2000.0 0.0 0.0 0.0
may income 1200.0 13000.0 2000.0 0.0 0.0 0.0
june income 1200.0 13000.0 2000.0 0.0 0.0 0.0
july income 1200.0 13000.0 2000.0 0.0 0.0 0.0
august income 1200.0 13000.0 2000.0 0.0 0.0 0.0
september income 1200.0 13000.0 2000.0 0.0 0.0 0.0
october income 1200.0 13000.0 2000.0 0.0 0.0 0.0
november income 1200.0 13000.0 2000.0 0.0 0.0 0.0
december income 1200.0 13000.0 2000.0 0.0 0.0 0.0
january expense 0.0 0.0 0.0 300.0 49.0 3500.0
february expense 0.0 0.0 0.0 300.0 149.0 3500.0
march expense 0.0 0.0 0.0 300.0 49.0 3500.0
april expense 0.0 0.0 0.0 300.0 49.0 3500.0
may expense 0.0 0.0 0.0 300.0 49.0 3500.0
june expense 0.0 0.0 0.0 300.0 49.0 3500.0
july expense 0.0 0.0 0.0 300.0 49.0 3500.0
august expense 0.0 0.0 0.0 300.0 49.0 3500.0
september expense 0.0 0.0 0.0 300.0 49.0 3500.0
october expense 0.0 0.0 0.0 300.0 49.0 3500.0
november expense 0.0 0.0 0.0 300.0 49.0 3500.0
december expense 0.0 0.0 0.0 300.0 49.0 3500.0
Получение данных от. JSON:
df_all = pd.DataFrame.from_dict({(i,j): data[i][j]
for i in data.keys()
for j in data[i].keys()},
orient='index')
. JSON структура файла:
{
"january": {
"income": {
"loan": 1200,
"csn": 13000,
"salary": 2000
},
"expense": {
"phone": 300,
"spotify": 49,
"rent": 3500
}
...
Желаемый выход:
loan csn salary phone spotify rent
january income 1200.0 13000.0 2000.0 300.0 49.0 3500.0
february income 1200.0 13000.0 2000.0 300.0 49.0 3500.0
march income 1200.0 13000.0 2000.0 300.0 49.0 3500.0
april income 1200.0 13000.0 2000.0 300.0 49.0 3500.0
may income 1200.0 13000.0 2000.0 300.0 49.0 3500.0
june income 1200.0 13000.0 2000.0 300.0 49.0 3500.0
july income 1200.0 13000.0 2000.0 300.0 49.0 3500.0
august income 1200.0 13000.0 2000.0 300.0 49.0 3500.0
september income 1200.0 13000.0 2000.0 300.0 49.0 3500.0
october income 1200.0 13000.0 2000.0 300.0 49.0 3500.0
november income 1200.0 13000.0 2000.0 300.0 49.0 3500.0
december income 1200.0 13000.0 2000.0 300.0 49.0 3500.0