簡體   English   中英

什么是相當於 R 的`with`的python/pandas?

[英]What is a python/pandas equivalent to R's `with`?

在 R 中,我可以有一個 data.frame 或一個包含幾個 arguments 的列表,我可以with function 對它們進行操作。 例如:

d <- data.frame(x = 1:3, y = 2:4, z = 3:5)
# I can use:
d$x+d$y*d$z-5
# Or, more simply, I can use:
with(d, x+y*z-5)
# [1]  2  9 18

在 pandas DataFrame 我可以使用:

d = {'x': [1, 2, 3], 'y': [2, 3, 4], 'z': [3, 4, 5]}
df = pd.DataFrame(data=d)
df.x+df.y*df.z-5
# 0     2
# 1     9
# 2    18
# dtype: int64

但是有沒有辦法做一些“與”類似的聲明?

一個想法是使用DataFrame.eval如果需要處理一些列名稱一些簡單的算術運算:

print (df.x+df.y*df.z-5)
0     2
1     9
2    18
dtype: int64

print (df.eval('x+y*z-5'))
0     2
1     9
2    18
dtype: int64

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM