小编AAA*_*AAA的帖子

在python中的pandas中的DataFrame的dropna中的thresh

df1 = pd.DataFrame(np.arange(15).reshape(5,3))
df1.iloc[:4,1] = np.nan
df1.iloc[:2,2] = np.nan
df1.dropna(thresh=1 ,axis=1)
Run Code Online (Sandbox Code Playgroud)

似乎没有删除任何nan值.

    0     1     2
0   0   NaN   NaN
1   3   NaN   NaN
2   6   NaN   8.0
3   9   NaN  11.0
4  12  13.0  14.0
Run Code Online (Sandbox Code Playgroud)

如果我跑

df1.dropna(thresh=2,axis=1)
Run Code Online (Sandbox Code Playgroud)

为什么它给出以下?

    0     2
0   0   NaN
1   3   NaN
2   6   8.0
3   9  11.0
4  12  14.0
Run Code Online (Sandbox Code Playgroud)

我只是不明白th​​resh在这做什么.如果列具有多个nan值,是否应删除该列?

python pandas

6
推荐指数
1
解决办法
2769
查看次数

在python数据帧中的每一列的最大值之前查找值的索引

我有一个数据框如下。

test = pd.DataFrame({'col1':[0,0,1,0,0,0,1,2,0], 'col2': [0,0,1,2,3,0,0,0,0]})
   col1  col2
0     0     0
1     0     0
2     1     1
3     0     2
4     0     3
5     0     0
6     1     0
7     2     0
8     0     0
Run Code Online (Sandbox Code Playgroud)

对于每一列,我想在每一列的最大值之前找到值1的索引。例如,对于第一列,最大值是2,在2之前的值1的索引是6。对于第二列,最大值是3,在3之前的值1的索引是2。

总之,我希望获得[6,2]作为此测试DataFrame的输出。有没有一种快速的方法来实现这一目标?

python dataframe pandas

6
推荐指数
1
解决办法
118
查看次数

有没有办法列出 R 中的所有环境(环境名称)

我正在研究 R 中的“环境”概念。现在我知道emptyenv()是所有环境的父级并且它没有父级,但是有没有办法列出当前 R 会话中的所有环境或说它的子级emptyenv()

environment r

6
推荐指数
1
解决办法
862
查看次数

何时使用 iloc 和 loc 进行布尔值

当使用布尔系列为 pandas Dataframe 建立索引时,我有点困惑。我应该使用 iloc 还是 loc?或者有更好的解决方案吗?例如

t1 = pd.DataFrame(np.ones([3,4]))
t1.iloc[1:3,0]=3
Run Code Online (Sandbox Code Playgroud)

这一行会给出正确的答案

t1.loc[:,(t1>2).any()]
Run Code Online (Sandbox Code Playgroud)

但与 iloc 一致会引发错误

t1.iloc[:,(t1>2).any()]
Run Code Online (Sandbox Code Playgroud)

我检查https://pandas.pydata.org/pandas-docs/stable/indexing.html,该页面显示 iloc 和 loc 都接受布尔数组。为什么 iloc 在我的示例中不起作用?何时使用 iloc 和 loc?或者有更好的选择吗?

python indexing pandas

4
推荐指数
1
解决办法
1500
查看次数

从python中的最后一个非零条目计算累积总和

我有一个数字序列,例如[0,0,0,0,1,1,1,0,0,1,1,0]。我想根据最近的非零值来计算数字总和。即,一旦出现零输入,则总和将重置为零。

input: [0,0,0,0,1,1,1,0,0,1,1,0]
output:[0,0,0,0,1,2,3,0,0,1,2,0] 
Run Code Online (Sandbox Code Playgroud)

是否有内置的python函数能够实现这一目标?还是更好的无循环计算方式?

python numpy pandas cumsum

4
推荐指数
1
解决办法
139
查看次数

如何在一行中合并python中的值和范围或列表?

我是python的新手,还在python中学习简单的数据处理.我想结合1和范围(3)来获得一个列表[1,0,1,2].什么是最好的方法呢?有什么简单的方法[1,0:3]吗?

python

2
推荐指数
1
解决办法
117
查看次数

标签 统计

python ×5

pandas ×4

cumsum ×1

dataframe ×1

environment ×1

indexing ×1

numpy ×1

r ×1