我知道如何使用<-
和->
,并且有有 几个 writeups上的区别equals
的分配和箭头分配,但是我不知道什么时候喜欢->
过<-
.
社区似乎已经联合使用<-
了作业.
谷歌R风格指南和Hadley Wickam的tidyverse R风格指南都没有->
在作业部分提及.
我很好奇设计考虑因素导致S/S-PLUS开发人员放入右箭头分配操作员->
.在什么样的设置(S)将使用->
被认为是更可读(或更容易输入)与<-
或=
?
我不熟悉允许右分配语义的任何其他语言.在这方面,哪些语言激发了R?
我正在寻找引用书籍/早期设计文档/用户手册/存档邮件列表或其他参考文献的答案,以确定S作者/设计者的意图是放入前向箭头赋值运算符.
我正在尝试从python asyncio任务和协同程序文档中运行此示例
import asyncio
@asyncio.coroutine
def slow_operation(future):
yield from asyncio.sleep(1)
future.set_result('Future is done!')
def got_result(future):
print(future.result())
loop.stop()
loop = asyncio.get_event_loop()
future = asyncio.Future()
asyncio.ensure_future(slow_operation(future))
future.add_done_callback(got_result)
try:
loop.run_forever()
finally:
loop.close()
Run Code Online (Sandbox Code Playgroud)
但是,我收到此错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'ensure_future'
Run Code Online (Sandbox Code Playgroud)
这条线似乎让我感到悲痛:
asyncio.ensure_future(slow_operation(future))
Run Code Online (Sandbox Code Playgroud)
我的python解释器在OSX Yosemite上是3.4.3,我上面链接的文档版本,我从中复制了这个例子,所以我不应该得到这个错误.这是我的python解释器的终端抓取:
Python 3.4.3 (default, Feb 25 2015, 21:28:45)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.56)] on darwin
Type "help", "copyright", "credits" or "license" for more …
Run Code Online (Sandbox Code Playgroud) 我有一个这种形式的字段列表
fields = [{'name':'count', 'label':'Count'},{'name':'type', 'label':'Type'}]
Run Code Online (Sandbox Code Playgroud)
我想提取名称并将其放入列表中.目前,我这样做:
names = []
for field in fields:
names.append(field['name'])
Run Code Online (Sandbox Code Playgroud)
还有另一种方法可以做同样的事情,不涉及循环列表.
我正在使用python 2.7.
谢谢你的帮助.!
目前,当我必须向现有数据框添加常量列时,我会执行以下操作.对我来说,似乎并不是那么优雅(我乘以数据帧长度的部分).想知道是否有更好的方法来做到这一点.
import pandas as pd
testdf = pd.DataFrame({'categories': ['bats', 'balls', 'paddles'],
'skus': [50, 5000, 32],
'sales': [500, 700, 90]})
testdf['avg_sales_per_sku'] = [testdf.sales.sum() / testdf.skus.sum()] * len(testdf)
Run Code Online (Sandbox Code Playgroud) 在groupby-aggregate中使用多个函数会产生一个多索引,然后我想要展平.
例:
df = pd.DataFrame(
{'A': [1,1,1,2,2,2,3,3,3],
'B': np.random.random(9),
'C': np.random.random(9)}
)
out = df.groupby('A').agg({'B': [np.mean, np.std], 'C': np.median})
# example output
B C
mean std median
A
1 0.791846 0.091657 0.394167
2 0.156290 0.202142 0.453871
3 0.482282 0.382391 0.892514
Run Code Online (Sandbox Code Playgroud)
目前,我是这样手动完成的
out.columns = ['B_mean', 'B_std', 'C_median']
Run Code Online (Sandbox Code Playgroud)
这给了我想要的结果
B_mean B_std C_median
A
1 0.791846 0.091657 0.394167
2 0.156290 0.202142 0.453871
3 0.482282 0.382391 0.892514
Run Code Online (Sandbox Code Playgroud)
但是我正在寻找一种自动化这个过程的方法,因为这是单调的,耗时的,并且允许我在重命名列时进行拼写错误.
在进行groupby-aggregate时,有没有办法返回扁平索引而不是多索引?
我需要将列展平以保存到文本文件,然后由不处理多索引列的其他程序读取该文件.
这是我试图通过sqlalchemy生成的查询
SELECT "order".id AS "id",
"order".created_at AS "created_at",
"order".updated_at AS "updated_at",
CASE
WHEN box.order_id IS NULL THEN "special"
ELSE "regular" AS "type"
FROM "order" LEFT OUTER JOIN box ON "order".id = box.order_id
Run Code Online (Sandbox Code Playgroud)
在sqlalchemy的文档之后,我尝试使用hybrid_property来实现这一点.这就是我到目前为止所做的,而且我没有得到正确的陈述.它没有正确生成案例陈述.
from sqlalchemy import (Integer, String, DateTime, ForeignKey, select, Column, create_engine)
from sqlalchemy.orm import relationship, sessionmaker
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.ext.hybrid import hybrid_property
Base = declarative_base()
class Order(Base):
__tablename__ = 'order'
id = Column(Integer, primary_key=True)
created_at = Column(DateTime)
updated_at = Column(DateTime)
order_type = relationship("Box", backref='order')
@hybrid_property
def …
Run Code Online (Sandbox Code Playgroud) 我试图为身份编写一个 QuickCheck 测试
f $ y = f y
Run Code Online (Sandbox Code Playgroud)
我最初的计划是编写一个返回函数和整数的任意生成器,具有签名Gen (Int -> Int, Int)
并且在prop_DollerDoesNothing
测试中,带/不带函数应用程序$
给出相同的结果。
这是我的代码:
prop_DollarDoesNothing :: Property
prop_DollarDoesNothing =
forAll arbitraryFuncInt (\(f, y) -> (f $ y) == (f y))
arbitraryFuncInt :: Gen (Int -> Int, Int)
arbitraryFuncInt = do
f <- elements [(\x -> x*2), (\x -> x+3), (\x -> x-2)]
y <- arbitrary :: Gen Int
return (f, y)
Run Code Online (Sandbox Code Playgroud)
它生成了以下有用的错误消息:
* No instance for (Show (Int -> Int))
arising from a …
Run Code Online (Sandbox Code Playgroud) 我通过阅读《第一原理》(Allen&Moronuki)的《Haskell编程》一书来学习Haskell 。
在有关Monad Transformers,Functor和Applicative组成部分的练习中,它要求读者为以下类型编写Bifunctor实例
data SemiDrei a b c = SemiDrei a
Run Code Online (Sandbox Code Playgroud)
我的第一次尝试(编译)是
instance Bifunctor (SemiDrei a) where
bimap f g (SemiDrei a) = SemiDrei a
Run Code Online (Sandbox Code Playgroud)
但是,看着它,在我看来我应该应该能够写,bimap f g = id
因为最后一个参数不变或写了bimap f g x = x
。两者都给我带来了编译错误,并且我希望有人可以向我解释为什么我不能bimap
用这些较短的替代方法来表达,即为什么我必须指定(SemiDrei a)
。
我在Haskell 8.6.5上运行了此命令(如果相关)
尝试:ID
instance Bifunctor (SemiDrei a) where
bimap f g = id
-- compile error message:
• Couldn't match type ‘a1’ with ‘b’
‘a1’ is a rigid type variable bound …
Run Code Online (Sandbox Code Playgroud) 我正在学习haskell,其中一个练习要求我写一个相当于的函数enumFromTo
.
我想出了以下两个实现:
eft' :: Enum a => a -> a -> [a]
eft' x y = go x y []
where go a b sequence
| fromEnum b < fromEnum a = sequence
| otherwise = go (succ a) b (sequence ++ [a])
eft :: Enum a => a -> a -> [a]
eft x y = go x y []
where go a b sequence
| fromEnum b < fromEnum a = sequence
| otherwise = go …
Run Code Online (Sandbox Code Playgroud) 我有 3 个复杂的表。对于这个问题,我就简化一下用法。我需要排名、计数(重复)和唯一记录(结果)。它适用于单个表,但是,当WITH
包含并INNER JOIN
给出另一个表时,我不再获得任何记录。
CREATE TABLE public.emails (
id bigint NOT NULL PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY
(MAXVALUE 9223372036854775807),
sender jsonb NOT NULL
);
CREATE TABLE public.contacts (
id bigint NOT NULL PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY
(MAXVALUE 9223372036854775807),
email text NOT NULL,
full_name text NOT NULL
);
-- sample data
insert into emails (sender) VALUES ('{"email": "dennis1@example.com", "name": "dennis1"}');
insert into emails (sender) VALUES ('{"email": "dennis1@example.com", "name": "dennis1"}');
insert into …
Run Code Online (Sandbox Code Playgroud) python ×4
haskell ×3
pandas ×2
bifunctor ×1
dictionary ×1
list ×1
postgresql ×1
python-2.7 ×1
python-3.x ×1
quickcheck ×1
r ×1
s ×1
sql ×1
sqlalchemy ×1
types ×1