#python #dictionary #random
#python #словарь #Случайный
Вопрос:
У меня есть словарь («напряжение») с несколькими листами Excel в качестве элементов в нем. Я хочу извлечь 20% от общего количества листов из исходного словаря и сохранить их в отдельном словаре («образец»). Я написал следующий код.
data = pd.ExcelFile('filename.xlsx')
voltage = {}
for sheet in data.sheet_names:
voltage[sheet] = pd.read_excel(data, sheet)
sample = dict(random.sample(voltage.items(), int(len(voltage) * 20 / 100)))
С помощью приведенного выше кода я могу получить 20% от общего количества листов, но эти листы не удаляются из исходного словаря. Я хочу удалить те случайно выбранные 20% листов, которые будут удалены из исходного словаря и сохранены в новом словаре. Кто-нибудь может мне помочь с этим??
Комментарии:
1. Можете ли вы объяснить, почему вы хотите это сделать? Похоже, в итоге вы получите два одинаковых словаря. Также.. почему вы просто не повторяете.
sample.keys()
и удалить эти элементы из исходного словаря?2. Я хочу разделить данные, потому что мне нужно выполнять разные операции с каждым набором данных. Да, поскольку я новичок в python, я не знал, как к этому подойти… Спасибо за ваш ответ 🙂
Ответ №1:
Добавьте эту строку:
for i in sample:
del voltage[i]
Это приведет к удалению всех элементов типа ключ-значение из вашего словаря напряжения для всех ключей, которые мы нашли в словаре примеров