【发布时间】:2020-01-30 23:06:30
【问题描述】:
对不起,如果这听起来太简单了,我是 python 的新手。我有一个数据框,其中包含客户(列)和天(行)的概率
1990 1991 1992 1993 1994 1995 1996 1997 1998 1999
T
1.0 0.978075 0.983836 0.935958 0.945885 0.949607 0.997269 0.988535 0.951836 0.953030 0.788105
2.0 0.968136 0.976477 0.907848 0.921947 0.927251 0.996013 0.983297 0.930433 0.932138 0.706214
3.0 0.961416 0.971490 0.889165 0.905972 0.912310 0.995157 0.979741 0.916115 0.918155 0.655308
4.0 0.956860 0.968104 0.876644 0.895236 0.902257 0.994574 0.977323 0.906476 0.908738 0.622709
5.0 0.953432 0.965554 0.867303 0.887210 0.894737 0.994134 0.975500 0.899262 0.901689 0.599165
6.0 0.950307 0.963226 0.858843 0.879930 0.887912 0.993731 0.973836 0.892712 0.895288 0.578402
7.0 0.946586 0.960452 0.848843 0.871310 0.879824 0.993250 0.971851 0.884948 0.887698 0.554536
8.0 0.943850 0.958411 0.841538 0.865002 0.873903 0.992896 0.970388 0.879262 0.882139 0.537557
9.0 0.941322 0.956523 0.834828 0.859201 0.868455 0.992567 0.969036 0.874028 0.877020 0.522294
10.0 0.938503 0.954417 0.827385 0.852757 0.862400 0.992200 0.967525 0.868210 0.871330 0.505735
11.0 0.935750 0.952358 0.820161 0.846494 0.856511 0.991841 0.966048 0.862549 0.865793 0.490026
12.0 0.933141 0.950405 0.813354 0.840584 0.850952 0.991499 0.964646 0.857204 0.860564 0.475550
13.0 0.930858 0.948695 0.807425 0.835431 0.846103 0.991199 0.963417 0.852540 0.855999 0.463197
14.0 0.929073 0.947358 0.802812 0.831417 0.842324 0.990965 0.962456 0.848905 0.852442 0.453746
15.0 0.927366 0.946078 0.798416 0.827588 0.838718 0.990740 0.961535 0.845435 0.849046 0.444869
16.0 0.925786 0.944893 0.794362 0.824054 0.835389 0.990531 0.960683 0.842231 0.845910 0.436796
17.0 0.924440 0.943883 0.790920 0.821052 0.832560 0.990354 0.959956 0.839508 0.843244 0.430024
18.0 0.923308 0.943033 0.788032 0.818531 0.830184 0.990204 0.959345 0.837221 0.841006 0.424403
19.0 0.922105 0.942130 0.784970 0.815857 0.827663 0.990045 0.958694 0.834794 0.838629 0.418500
20.0 0.921186 0.941439 0.782637 0.813818 0.825740 0.989923 0.958197 0.832942 0.836816 0.414041
我只想过滤概率小于 0.95 到 0.40 的列。我只想保留那些满足范围的列(即我想保留满足要求的列的记录数)。
我试过过滤器
df_2 = df[(df <= .95) & (df >= .4)]
例如,我应该得到 1992 1994 而不是 1990 或 1991 等列。但是,我得到了很多 NaN 或其他一些选项,我只能返回满足条件的过滤行。但是,我只想保留可以获得所有 20 行的概率范围的列。
如果有人可以帮助/建议一些东西,我将不胜感激
提前致谢
【问题讨论】:
-
仅仅一行代码是不够的。
df中有什么内容?在df_2?请发布更多代码。在您解决问题后,其他人可能会跟进。另外,“客户(列)”是什么意思?从外观上看,他们似乎是几年?他们应该完全或部分满足范围吗?此外,您的标题非常具体地说明了一个更普遍的问题,这无助于其他人在遇到相同问题时偶然发现您的问题。 -
不要忘记您可以投票和接受答案,请参阅What should I do when someone answers my question?。谢谢!
标签: python pandas filter multiple-columns