Я пытаюсь найти способ использовать формулу подсчета чисел из Excel в пандах.
Прошу помощи у знатоков!
Итак, у меня есть 1 DF, который является файлом Excel.
DF = имеет список имен (c34) и около 12 столбцов
Я пытаюсь посчитать пустую ячейку на другом листе, где имена являются контрольной точкой.
Пример данных:
import pandas as pd
df = pd.DataFrame({
"Name": ["Alice", "Bob", "Jas", "Carl", "Bob", "Jon", "Alice"],
"Age": [23, 24, 22, None, None, 27, 23],
"Weight": [71, 67, 51, 75, None, 67, 71],
"Height": [49, 59, 54, None, 59, 56, 49]
})
пример. Если Алиса существует в DF, подсчитайте пустые ячейки в любом столбце «Возраст» и вставьте число в другую ячейку для Алисы на другом листе, а затем сделайте то же самое для Боба, Карла и т. д., спускаясь вниз.
Ps, нужно ли это делать с помощью словаря или можно напрямую из файла вытащить?
Спасибо!
Можете ли вы опубликовать минимально воспроизводимый пример и ожидаемый результат (в виде текста, а не изображений)? См. stackoverflow.com/help/minimal-reproducible-example
каков ваш точный желаемый результат? предоставьте желаемый результат в виде таблицы.






Следующий код будет перебирать каждое уникальное имя в вашем фрейме данных и подсчитывать количество пробелов в столбце «Возраст». Затем создайте новый фрейм данных с количеством пробелов для каждого имени. Невозможно сделать это непосредственно в листе Excel, но вы можете сохранить фрейм данных Blank_df как CSV и импортировать его в Excel.
blank_names = {}
for name in df["Name"].unique():
count_of_blank = (df["Name"] == name) and (df["age"].isnull() or (df["age"] == '')).sum()
blank_names[name] = count_of_blank
blank_df = pd.DataFrame([k + (v,) for k, v in blank_names.items()], columns=["Name", "blank_count"])
print(blank_df)
Приношу извинения всем, если я не дал достаточно информации @wyatt — спасибо за это! это то, что я искал в качестве основы. Я использовал это, чтобы поместить его в файл Excel: с pd.ExcelWriter(output_file) в качестве писателя: df2.to_excel(writer,sheet_name='MissingFields', index=False)
Итак, просто взглянув на это еще раз, мне нужно посчитать пустые ячейки для каждого имени в каждой категории, например, возраст, рост, вес и т. д., а затем просто вставить их в другой лист.