функция добавления не работает для DataFrame - PullRequest
0 голосов
/ 07 августа 2020

Я пытаюсь добавить фрейм данных из другого списка в другой фрейм данных, но каждый раз, когда один и тот же фрейм данных добавляется только по истечении времени


list1, list2, list3, list4 = [],[],[],[]
def conFile(file,df):
    name=file.split('/')[-1]
    print(name) #to check condition
    if name=='xyz':
       list1.append(df)
       print(df)
    if name=='abc':
       list2.append(df)
       print(df)
    if name=='mno':
       list3.append(df)
       print(df)
    if name=='kmno':
       list4.append(df)
       print(df) 

files=glob.glob('path')
for file in files: 
    df=pd.read_csv(file)
    conFile(file,df)
    

этот скрипт отлично работает для xyz и ab c, но не работает для условий mno и kmno. Фактически, один и тот же список 2 копируется как в list3, так и в list4 вместо разных фреймов данных. Я также проверяю, что исходящие данные каждый раз различаются, но в списках 3 и 4 всегда повторяется один и тот же набор данных. Я также проверяю условие каждый раз, и каждый раз условие также совпадает, но почему такое происходит, я не могу понять. Если кто-то столкнется с этой проблемой раньше, пожалуйста, помогите по этой части

1 Ответ

0 голосов
/ 07 августа 2020

инициализация вашего списка кажется неправильной:

если вы это сделаете:

list1, list2, list3, list4 = ([], ) * 4

одинаковые добавленные значения копируются везде.

вместо этого инициализируйте списки вот так:

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