小编bjo*_*son的帖子

返回pandas DataFrame列的最大值为零或值

我想用0替换pandas DataFrame列中的负值.

有没有更简洁的方法来构造这个表达式?

df['value'][df['value'] < 0] = 0
Run Code Online (Sandbox Code Playgroud)

python pandas

24
推荐指数
3
解决办法
1万
查看次数

if/then/else的Python/pandas习语

在对整个pandas数据帧执行计算之后,我需要返回并根据另一个变量的值覆盖变量计算(通常设置为零).是否有更简洁/惯用的方式来执行此类操作?

df['var1000'][df['type']==7] = 0
df['var1001'][df['type']==7] = 0
df['var1002'][df['type']==7] = 0
...
df['var1099'][df['type']==7] = 0
Run Code Online (Sandbox Code Playgroud)

有没有熊猫方式做这样的事情?

if (df['type']==7):
    df['var1000'] = 0
    df['var1001'] = 0
    df['var1002'] = 0
    ...
    df['var1099'] = 0
Run Code Online (Sandbox Code Playgroud)

python pandas

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

用dataframe变量划分整个pandas multiIndex数据帧

我在下面的表格中有一个多索引数据框.如何将数据框中的所有值除以df ['three']?

          one                  two                three              
Number      1      2      3      1      2      3      1      2      3
Name                                                                 
grethe -0.299 -1.444 -0.920  1.378  0.376 -0.396  0.518 -0.816 -0.329
hans    0.493  1.183 -0.741 -0.267 -0.564  0.281  1.550  0.544 -0.892
Run Code Online (Sandbox Code Playgroud)

当我试试这个,

>>> df.div(df['three'])
Run Code Online (Sandbox Code Playgroud)

或这个

>>> df / df['three']
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Anaconda\lib\site-packages\pandas\core\frame.py", line 218, in f
    return self._combine_frame(other, na_op, fill_value, level)
  File "C:\Anaconda\lib\site-packages\pandas\core\frame.py", line 3819, in _combine_frame
    this, other = self.align(other, join='outer', level=level, copy=False) …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

R条件替换数据帧值

我想用一个或多个其他列(df $ b,df $ c)的数学运算结果更新数据帧列(df $ d),条件是另一列(df $ a)的值.

set.seed(55)
df <- data.frame(a = rnorm(10), b = rnorm(10), c = rnorm(10), d = 0)
df$d[df$a > 0] <- df$b[df$a > 0] / df$c[df$a > 0]
Run Code Online (Sandbox Code Playgroud)

第三行产生df $ d的预期值.有没有办法更简洁地写这个?我对那些不需要我重复逻辑索引的选项特别感兴趣.

例如,这种表达式在Python/Pandas中起作用,并且在赋值运算符的左侧只需要一个'[df $ a> 0]'的实例:

df$d[df$a > 0] <- df$b / df$c
Run Code Online (Sandbox Code Playgroud)

感谢您提供任何建议.

indexing r dataframe

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

标签 统计

pandas ×3

python ×3

dataframe ×1

indexing ×1

r ×1