【问题标题】:How can I write this as a loop in python?如何在 python 中将其编写为循环?
【发布时间】:2019-05-21 20:53:35
【问题描述】:

我有一个 DataFrame (5910x65),其列从 X1 到 X64 且至少为 Y。 现在我想用 .25quantil 和 .75quantil 计算异常值,但我不想为每一列(X1 到 X64)编写代码。

我不知道怎么写 描述=df.X1.describe() 循环将在下一回合用“X2”替换“X1”,依此类推 我尝试了 'X'+str(i+1) for i in range(len(df.columns)-1),但我无法使用 df.?.describe() 中的结果进行导航

describe=df.X1.describe()
col=df.X1
faktor=10
qabs=abs(describe[6]-describe[4])
q1=describe[4]-qabs*faktor
q3=describe[6]+qabs*faktor
under=col[(col)<q1]
above=col[(col)>q3]
print(col[(col)<q1])
print(col[(col)>q3])

【问题讨论】:

    标签: python python-3.x loops dataframe


    【解决方案1】:

    将列的访问权限从 . 更改为像 df['col'] 这样的键样式查找:

    for i in range(1, 65): # will end at 64
        describe=df[f'X{i}'].describe()
        col=df[f'X{i}']
        faktor=10
        qabs=abs(describe[6]-describe[4])
        q1=describe[4]-qabs*faktor
        q3=describe[6]+qabs*faktor
        under=col[(col)<q1]
        above=col[(col)>q3]
        print(col[(col)<q1])
        print(col[(col)>q3])
    

    【讨论】:

      猜你喜欢
      • 2018-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-24
      • 1970-01-01
      • 1970-01-01
      • 2020-08-14
      • 1970-01-01
      相关资源
      最近更新 更多