Pandas Серия до Pandas Датафрейм - PullRequest
2 голосов
/ 19 февраля 2020

У меня есть объект <class 'pandas.core.series.Series'>, который выглядит следующим образом:

DataFrame(cfd_appr).transpose().sum(axis=1)
2022.12.06_Bild 2.txt     524.0
2022.12.06_Bild 3.txt     620.0
2022.12.06_Bild 4.txt     535.0
2022.12.06_Bild 5.txt     799.0
2022.12.06_Bild 6.txt    1032.0
2022.12.06_Bild 8.txt       4.0
dtype: float64

Создано DataFrame(some_cfd).transpose().sum(axis=1). Теперь мне нужно преобразовать его так, чтобы он выглядел следующим образом:

                              1
2022.12.06_Bild 2.txt     524.0
2022.12.06_Bild 3.txt     620.0
2022.12.06_Bild 4.txt     535.0
2022.12.06_Bild 5.txt     799.0
2022.12.06_Bild 6.txt    1032.0
2022.12.06_Bild 8.txt       4.0

После нескольких часов чтения Pandas документации Я до сих пор не могу понять, как это сделать. Это должен быть <class 'pandas.core.frame.DataFrame'> с одноуровневой индексацией. Каждый раз, когда используется reset_index(), создается новый (индекс?) Столбец, а при использовании set_index('index') создается двухуровневая индексация столбцов, которая мне не нужна.

Я могу представить себе множество соответствующих случаев Прости заранее, если на него уже где-то ответили, но пока я не нашел решения. Любая помощь будет оценена.

Ответы [ 2 ]

2 голосов
/ 19 февраля 2020

to_frame может использоваться для преобразования Series в DataFrame.

series = DataFrame(some_cfd).transpose().sum(axis=1)

# The provided name (1) will substitute for the series name
df = series.to_frame(1)

И вывод должен быть:

>>> print(df)

                              1
2022.12.06_Bild 2.txt     524.0
2022.12.06_Bild 3.txt     620.0
2022.12.06_Bild 4.txt     535.0
2022.12.06_Bild 5.txt     799.0
2022.12.06_Bild 6.txt    1032.0
2022.12.06_Bild 8.txt       4.0
1 голос
/ 19 февраля 2020

Использование Series.to_frame:

pd.DataFrame(cfd_appr).transpose().sum(axis=1).to_frame(1)
...