У меня есть два CSV файлов в папке, первый из которых выглядит следующим образом:Заполнение Dataframe так строки заполняются последовательно
df1
Value Count
1 10
2 1
3 2
4 15
5 8
и второй из которых, как это:
df2
Value Count
1 5
2 22
3 13
4 16
5 11
6 18
Я хочу Value
в каждом из них, чтобы соответствовать. По сути, я хочу, чтобы превратить df1 в этом:
Value Count
1 10
2 1
3 2
4 15
5 8
6 0
даже если Value
6 не существует в df1 Я хочу, чтобы она заселена с нулем.
Я читаю в моих файлах, как это:
pth=r'C:\pathway'
for f in os.listdir(pth):
df=pd.read_csv(os.path.join(pth,f)
и я пытались добавить это на:
df=df.append({'Value': '6', 'Count': '0'}, ignore_index=True)
, но это добавляет новую строку в df2, а также которые я хочу избежать.
У меня есть около 20 файлов csv в папке, и я просто хочу, чтобы Value
соответствовал всем им и был заполнен 0, если конкретный Value
нет.
Можете ли вы сделать его более явным, какие df1 и df2 в вашем коде? Я вижу, что вы читаете csv, но где находится DataFrame назначения? – pekapa
нет фактических 'df1' и' df2', так как он читается в цикле, все просто называется 'df'. Это строка, которая диктует это: 'df = pd.read (csv (os.path.join (pth, f)". На данный момент нет кадра назначения. Каждый файл затем на данный момент просто называется 'df' –
В конечном итоге я хочу объединить все добавленные список 'df'by и используя что-то вроде этого:' df_final = reduce (lambda left, right: pd.merge (left, right, on = ['Value'], how = ' external '), list1) ', но сначала мне нужно сделать« значение »согласованным между файлами. –