Добавление фреймов данных из al oop в pandas python - PullRequest
0 голосов
/ 26 мая 2020

Может ли кто-нибудь быть достаточно любезным, чтобы помочь мне, когда я ошибаюсь с моим кодом? Я хочу, чтобы на выходе было 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 должен быть изменен правильно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...