我有多个数据框,如下所示:
df1
col1;col2;col3;col4
cat;1;2;blue
house;1;2;red
dog;5;6;yellow
mouse;7;8;white
df2
col1;col2;col3;col4
cat;3;4;grey
house;7;8;red
dog;5;6;yellow
mouse;3;4;black
df3
col1;col2;col3;col4
cat;5;6;grey
house;3;4;red
dog;5;6;yellow
mouse;9;10;grey
我想对 col2 和 col3 的值等于“cat”的 col2 和 col3 的值的所有行进行子集化 col2 和 col3 的值在每个数据帧中不断变化,因此不是恒定的。输出将是:
df1
col1;col2;col3;col4
cat;1;2;blue
house;1;2;red
df2
col1;col2;col3;col4
cat;3;4;grey
mouse;3;4;black
df3
col1;col2;col3;col4
cat;5;6;grey
dog;5;6;yellow
有什么建议吗?事实上,我可以一直使用 awk:
awk -F";" '{if($2=="1" && $3=="2")print $0}' df1
awk -F";" '{if($2=="3" && $3=="4")print $0}' df2
awk -F";" '{if($2=="5" && $3=="6")print $0}' df3
但是我有数千个数据框,因此手动输入每行代码的值很麻烦
怎么样
然后
mv
*tmp 文件覆盖原始文件...