Я новичок в pandas/python. Я пытаюсь загрузить файл Excel и вывести файл Excel, содержащий все уникальные значения в каждом столбце.
Я легко могу распечатать значения, используя:
for col in df:
print(df[col].unique())
Мой вопрос: как я могу отправить эти результаты в файл excel, а не просто распечатать их. Заранее спасибо.
Используйте понимание словаря для создания нового уникального кадра, а затем создайте новый файл. Словари можно легко использовать для создания DataFrame, если массивы имеют одинаковую длину. Чтобы убедиться, что массивы имеют одинаковую длину при использовании unique
, мы просто преобразуем массивы в pd.Series
У вас нет ожидаемого результата, поэтому я предполагаю, что вам просто нужны все уникальные значения в одном файле с nans
для отсутствующих значений.
pd.DataFrame({col: pd.Series(df[col].unique())
for col in df.columns}).to_excel('some_file_name.xlsx', index=False)
Вот рабочий пример
# sample df
import pandas as pd
df = pd.DataFrame([[1,2,3,1,2],
list('abccd'),
[1]*5]).T
0 1 2
0 1 a 1
1 2 b 1
2 3 c 1
3 1 c 1
4 2 d 1
выход
pd.DataFrame({col: pd.Series(df[col].unique())
for col in df.columns})
0 1 2
0 1 a 1
1 2 b NaN
2 3 c NaN
3 NaN d NaN
проверить
df.to_excel
функцию