我有以下的頭篩選基於特定的月份值和有條件一個大熊貓數據幀上的另一列
import pandas as pd
f = pd.Dataframe(columns=['month', 'Family_id', 'house_value'])
個月的大數據幀去從0到239,Family_ids高達10900和房屋價值會發生變化。所以數據幀有超過250萬行。
我想過濾數據框僅適用於最終房價和每個家庭的初始價格之間存在差異的數據框。
一些樣本數據是這樣的:
f = pd.DataFrame({'month': [0, 0, 0, 0, 0, 1, 1, 239, 239], 'family_id': [0, 1, 2, 3, 4, 0, 1, 0, 1], 'house_value': [10, 10, 5, 7, 8, 10, 11, 10, 11]})
,並從該樣本,所產生的數據幀將是:
g = pd.DataFrame({'month': [0, 1, 239], 'family_id': [1, 1, 1], 'house_value': [10, 11, 11]})
所以我想在這會是這樣的代碼:
ft = f[f.loc['month'==239, 'house_value'] > f.loc['month'==0, 'house_value']]
也試過這樣:
g = f[f.house_value[f.month==239] > f.house_value[f.month==0] and f.family_id[f.month==239] == f.family_id[f.month==0]]
而上面的代碼給出了錯誤Keyerror: False
和ValueError
任何想法。謝謝。
''month'== 239'你正在比較字符串,這會導致'False',並且你正在'.loc'的幫助下在索引中搜索'False'。所以它會導致關鍵的錯誤。什麼是你需要完成的。你可以發佈數據 – Dark
這兩個系列可能有不同的長度,所以你不能比較這種方式。所以發佈期望的輸出樣本數據作爲輸入 – Dark