Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何处理数据帧中的负值_Python_Pandas_Machine Learning_Data Science - Fatal编程技术网

Python 如何处理数据帧中的负值

Python 如何处理数据帧中的负值,python,pandas,machine-learning,data-science,Python,Pandas,Machine Learning,Data Science,Suupose我有一个具有不同列的数据帧。有些列包含负值,如 “金额”列包含一些负数,这是不可能的,因为金额不能为负数,因此如何处理列中的负数。我假设您希望将“金额”列中的所有负值设置为0(或其他值)。可以对列应用lambda函数以将负值替换为0,并保持正值不变: df['amount'] = df['amount'].apply(lambda x: 0 if x < 0 else x) df['amount']=df['amount']。应用(如果x

Suupose我有一个具有不同列的数据帧。有些列包含负值,如
“金额”列包含一些负数,这是不可能的,因为金额不能为负数,因此如何处理列中的负数。

我假设您希望将“金额”列中的所有负值设置为0(或其他值)。可以对列应用lambda函数以将负值替换为0,并保持正值不变:

df['amount'] = df['amount'].apply(lambda x: 0 if x < 0 else x)
df['amount']=df['amount']。应用(如果x<0,则lambda x:0)

这是一个数据质量问题。这取决于业务,取决于他们是如何生成的,是手动生成的还是计算机生成的

我们可以尝试的事情很少

  • 过滤所有负值,并查找
    统计数据
    根本原因
    以及对整个文件的影响
  • 如果是计算机生成的,
    使用一些If-else条件重新计算
  • 根据业务情况,我们可以为负值制作不同的管道
  • 如果不需要该列,我们可以删除该列(多重共线性问题)
  • 尝试
    数据清理
    缺失值插补
  • df上

    def handle_negatives(row):
        if row <0:
            # whatever  you logic
            return 0
        else:
            return row
    df["col"] =df["col"].apply(handle_negatives)
    
    def handle_负片(行):
    
    如果行在使用它的点检查值?或者,如果它生成了一个错误,您如何处理它取决于是什么导致了负值以及您试图对数据做什么。请用更多细节更新您的问题,以澄清问题以及您正试图实现的目标。