Может ли кто-нибудь быть достаточно любезным, чтобы помочь мне, когда я ошибаюсь с моим кодом? Я хочу, чтобы на выходе было 4 столбца: Имя, Единица измерения, введите описание изображения здесь Цена и Имя клиента (здесь как столбец) Это мой код.
mb = df[df['Name'] == 'Mobile number'].index.values
# print (mb)
VeggieStartingIndex = mb[0] + 1
SKU = df.loc[VeggieStartingIndex:, "Name"]
#print( df.columns[3:] )
d1 = pd.DataFrame(df)
d2 = pd.DataFrame(df)
d=pd.DataFrame(df)
for col in df.columns[3:]:
#print(col)
a = df.dropna(subset=[col]).loc[3:,['Name','Unit','Price',col]]
b = pd.DataFrame(df.loc[:2,['Name','Unit','Price',col]])
a["Values"] = a["Price"] * a[col].astype("float64")
TotalQuantity = a[col].astype( "float64" ).sum()
TotalValue = a['Values'].sum()
s1 = pd.Series(["Totals",'','',TotalQuantity,TotalValue])
s2 = pd.Series( [" "," "," "," ", " "],)
ind = ['Name', 'Unit', 'Price', col, 'Values']
c=pd.DataFrame([list(s1),list(s2),list(s2)],columns=ind)
d1=([b,a,c])
d2=pd.concat(d1)
d2=d2.append(d1)
print(d2)
Когда я попробуйте добавить d1 к d2, я получаю данные более чем 4 столбца, и все мои клиенты перечислены в последующих столбцах. Я предполагаю, что мой код dropna должен быть изменен правильно?