我有一个庞大的DF,例如:
1 39.12 16.88 1 100 2015
2 39.04 16.98 1 100 2015
3 3920 1650 1 100 2015
4 3920 1666 1 100 2015
5 3936 1650 1 100 2015
.
.
.
我想将第2列和第3列中非十进制的所有值转换为:
1 39.12 16.88 1 100 2015
2 39.04 16.98 1 100 2015
3 39.20 16.50 1 100 2015
4 39.20 16.66 1 100 2015
5 39.36 16.50 1 100 2015
.
.
.
有帮助吗?
答案 0 :(得分:1)
带有awk和列:
awk '$2 !~ /\./ {$2=sprintf("%.2f",$2/100)}
$3 !~ /\./ {$3=sprintf("%.2f",$3/100)}
{print}
' file | column -t
输出:
1 39.12 16.88 1 100 2015 2 39.04 16.98 1 100 2015 3 39.20 16.50 1 100 2015 4 39.20 16.66 1 100 2015 5 39.36 16.50 1 100 2015