1.csv
cut price depth carat table
0 Good 327 57.9 0.23 65.0
1 Good 335 63.3 0.31 58.0
2 Very Good 336 62.8 0.24 57.0
3 Very Good 336 62.3 0.24 57.0
4 Very Good 337 61.9 0.26 55.0
5 Premium 326 59.8 0.21 61.0
6 Premium 334 62.4 0.29 58.0
7 Good 400 64.0 0.30 55.0
2.csv
cut price depth carat table
0 Good 327 57.9 0.23 65.0
1 Good 335 63.3 0.31 58.0
2 Very Good 336 62.8 0.24 57.0
3 Very Good 336 62.3 0.24 57.0
4 Very Good 337 61.9 0.26 50.0
5 Premium 326 59.8 0.21 61.0
6 Premium 334 60.4 0.29 58.0
7 Good 399 64.0 0.30 55.0
только 4,6,7 строк из 2.csv изменено
я ищу чтобы получить
вывод, подобный этому
cut price depth carat table
4 Very Good 337 61.9 0.26 50.0
6 Premium 334 60.4 0.29 58.0
7 Good 399 64.0 0.30 55.0
может кто-нибудь поделиться вашим опытом, любая помощь подойдет
import pandas as pd
f1 = pd.read_csv('1.csv')
f2 = pd.read_csv('2.csv')
columns_list = ['cut', 'price', 'depth', 'carat', 'table']
new_df= f2[~f2.price.isin(f1.price)]
print(new_df)
это пример кода, который я написал, и он работает хорошо, но мне нужно использовать
f2 [~ f2.price.isin (f1.price)]
в al oop чтобы получить имя каждого столбца в этом «ценовом» пространстве, а также которое будет возвращать значение. Я пытался обычным образом, как это
for i in columns_list:
price = f2[~f2.i.isin(f1.i)]
print(price)
, но команда pandas не работает так, как она возвращает ошибка типа
AttributeError: 'DataFrame' object has no attribute 'i'
Спасибо за чтение, надеюсь, вы понимаете это