我需要帮助在awk中排序。
数据: 品牌型号年份价格
Toyota Camry 1999 120000 2000
Honda Civic 1990 100239 5000
Subaru Legacy 2003 72198 4300
Honda Accord 2008 80324 12839
Subaru WRX 2017 700 25000
Toyota Sienna 2005 75600 17832
这是给我的数据,我需要按价格然后按里程排序。
我用sort -k1,1b -k5,5n -k4,4n -k3,3n
给了我输出:
Honda Civic 1990 100239 5000
Honda Accord 2008 80324 12839
Subaru Legacy 2003 72198 4300
Subaru WRX 2017 700 25000
Toyota Camry 1999 120000 2000
Toyota Sienna 2005 75600 17832
Honda Civic 1990 80324 5000
Honda Accord 2008 100239 12839
Subaru Legacy 2003 700 4300
Subaru WRX 2017 72198 25000
Toyota Camry 1999 75600 2000
Toyota Sienna 2005 120000 17832
重点是基本上为每个品牌分类价格,里程和年份列。
答案 0 :(得分:0)
使用GNU awk,多维数组和controlled scanning:
df1['colnew'] = np.nan
TSs = df1['timestamp1']
for TS in TSs:
values = df2['timestamp2'][(df2['timestamp2'] > TS) & (df2['col03']==0)]
if not values.empty:
df1.loc[df1['timestamp1'] == TS, 'colnew'] = values.iloc[0]