Я поставил вопрос ранее в этом посте. Я думал, что задаю этот вопрос отдельно, поскольку это всего лишь одна операция для разделения большого фрейма данных на отдельные мини-подфотограммы.
Скажем, у меня есть df
:
245 245 245 867 867
0 Reddit NaN NaN Facebook NaN
1 ColumnNeeded NaN ColumnValue ColumnNeeded ColumnValue
2 RedditInsight NaN C FacbookInsights A
3 RedditText NaN H FacbookText L
Теперь я хочу два разных фрейма данных, например, df1
:
245 245 245
0 Reddit NaN NaN
1 ColumnNeeded NaN ColumnValue
2 RedditInsight NaN C
3 RedditText NaN H
df2
:
867 867
0 Facebook NaN
1 ColumnNeeded ColumnValue
2 FacbookInsights A
3 FacbookText L
В принципе, я хочу создавать поддиректории данных с помощью уникальных значений заголовков. Я пытался создать такой список:
list_of_dfs = [set(i) for i in df.columns]
Это возвращает только значения столбца,
[{245}, {245}, {245}, {867}, {867}]
Любые идеи, как я могу это сделать?
Поскольку вам нужно сбросить индекс и получить вспомогательные данные для каждого уникального имени столбцов, вам необходимо:
[df[i].reset_index(drop=True) for i in df.columns.unique()]
Выход:
[
245 245 245
0 Reddit NaN NaN
1 ColumnNeeded NaN ColumnValue
2 RedditInsight NaN C
3 RedditText NaN H,
867 867
0 Facebook NaN
1 ColumnNeeded ColumnValue
2 FacbookInsights A
3 FacbookText L
]
[df[i] for i in df.columns.unique()]
?reset_index()
и даже лучше.[df[i].reset_index(drop=True) for i in df.columns.unique()]