关于python嵌套循环比较dataframe中数据的问题

各位,想处理一些数据,比较dataframe数据中两列数据的大小, 然后求出两列的值和比值,写了一段代码,但是总感觉哪里有问题,尤其是结束的那一部分。

df是数据包括很多列,[‘生产’, ‘销售’, ‘日期’, ‘部门’, ‘’地区, ‘材料’],要求,
1、如果生产大于销售,求差值和比值,添加‘diff’和‘差值’两列;
2、如果生产小于销售,差值和空值用NaN填充
3、最后的数据要有添加的两个计算列(‘diff’和‘差值’),还要保留其它的数据。

代码如下:
for j in df['生产']:
for k in df['销售']:
if j > k:
df['diff'] == df['生产'] - df['销售']
df['比值'] == df['生产'] / df['销售]
else:
df['diff'] == 'NaN' #负值使用空值填充
df['ratio'] == 'NaN' #使用空值填充
print(df.head(5))

import pandas as pd
data = [[1,2],[4,3]]
df = pd.DataFrame(data,columns=['生产','销售'])
df['diff'] = df['生产'] - df['销售']
df['比值'] = df['生产'] / df['销售']
print (df,'\n','-------------------------------------------------')
for i in range(len(df)):
    if df.loc[i,'diff'] < 0:
        df.loc[i,'diff'] = 'NaN'
        df.loc[i, '比值'] = 'NaN'

print(df)

img

能不能用for循环嵌套if实现?我需要知道自己错在哪里了?