如何将依赖于一列的条件语句应用于另一列?

2024-04-27 04:37:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我处理输入数据需要一些格式。在1000行长的数据段中,如果cat列大于0,我需要kitten列为1。在同一数据的不同1000行部分中,如果cat列小于0,我需要kitten列为1。否则kitten列应为0

我已经看到了为数据框对象替换列和公式的建议,但是在文档或本文中没有看到任何内容涉及如何将条件函数应用于列

我还避免替换数据中的整行部分。我只想把这个公式应用到一列

这是我试过的。明显的缺陷是它没有将这些更改应用于整个数据帧

def kitten_column(dataframe, columnnumber):

    data1k, data3k = [], []

    data1k = dataframe.iloc[1000:2000,:]
    data3k = dataframe.iloc[3000:40000,:] 

    dataframe.insert(columnnumber, "kitten", 0, True)

    data1k.loc[data1k["cat"] < 0, "kitten"] = 1
    data3k.loc[data3k["cat"] > 0, "kitten"] = 1

我的目标是将其应用于原始的dataframe,而不调用append或concatenate,但是上面的代码只将其应用于data1k和data3k dataframes


Tags: 数据对象文档dataframe格式loc建议cat