Добавление строки к фрейму данных делает метки столбца индексом - PullRequest
0 голосов
/ 28 ноября 2018

Я как-то застрял здесь на данный момент, у меня есть (в начале пустой) фрейм данных df_ben_Boxen, к которому я хочу добавить строки df_Box_Code_Inhalt, если они содержат тот же Artikelnr, что и строкав df_Stueckliste

В данный момент он записывает индекс с метками столбцов, а это не то, что мне нужно.

import pandas as pd
df_Box_Code_Inhalt=pd.read_excel("Box_Code_Inhalt.xlsx")
df_ben_Boxen=pd.DataFrame()
def Lade_Zuordnungen(df_ben_Boxen, df_Stueckliste):
    for index, row in df_Stueckliste.iterrows():
        for index2, row in df_Box_Code_Inhalt.iterrows():
            if df_Stueckliste.at[index,"Artikelnr"]==df_Box_Code_Inhalt.at[index2,"Artikelnr"]:
                df_ben_Boxen=pd.concat([df_ben_Boxen,df_Box_Code_Inhalt.loc[index2]],axis=1)
    return df_ben_Boxen

Было бы неплохо, если бы кто-нибудь мог сообщить мне исправление, я новичок в python и не могу понять это.

Содержимое исходного кадра данных по сравнению сизмененная индексация

1 Ответ

0 голосов
/ 28 ноября 2018

Моя проблема решена так:

import pandas as pd
df_Box_Code_Inhalt=pd.read_excel("Box_Code_Inhalt.xlsx")
def Lade_Zuordnungen(df_ben_Boxen, df_Stueckliste):
    df_ben_Boxen=pd.read_excel("Box_Code_Inhalt.xlsx")
    df_ben_Boxen.drop(df_ben_Boxen.index, inplace=True)
    for index, row in df_Stueckliste.iterrows():
        for index2, row in df_Box_Code_Inhalt.iterrows():
            if df_Stueckliste.at[index,"Artikelnr"]==df_Box_Code_Inhalt.at[index2,"Artikelnr"]:
                data=list(df_Box_Code_Inhalt.iloc[index2])
                df_ben_Boxen.loc[len(df_ben_Boxen)]=data
    return df_ben_Boxen
...