добавьте ноль, чтобы все подмножества были одинакового размера, затем суммируйте их и покажите в Excel - PullRequest
0 голосов
/ 27 апреля 2020

Я написал код, в котором он будет брать данные из файла Excel и генерировать все комбинации данных. Я могу сделать это, но я хочу добавить 0 в подмножествах, где их меньше, чтобы все подмножества имели одинаковое количество значений. Затем я хочу добавить все подмножества и поместить значение в конце каждого подмножества. Затем я хочу отправить его в файл Excel. Есть идеи, как этого добиться. Будет очень полезен. Спасибо за ваше время.

import pandas as pd
import numpy as np
import itertools
df = pd.ExcelFile('C:/Users/Desktop/Dc Resistance/Book1.xlsx').parse('Frequency,Voltage, Line')
x=[]
x.append(df['Resistance'])
y= np.array(x)
z=y.flatten()
print(z)
result = [seq for i in range(len(z), 0, -1) for seq in 
itertools.combinations(z, i)]
print(result)
col = 0
for row, data in enumerate(result):
worksheet.write_row(row, col, data)
workbook.close()
print (result)

вывод выглядит следующим образом

введите описание изображения здесь

введите описание изображения здесь

1 Ответ

0 голосов
/ 27 апреля 2020

Вы можете прочитать лист Excel обратно и использовать fillna:

df = pd.read_excel('c:\\somefolder\\data.xlsx')
df.fillna(0, inplace=True)
#this will create columns that sum the rows
df['sum_rows'] = df.sum(axis=1)
df.to_excel('newdata.xlsx')
...