我的python以某种方式在同一目录中找不到任何模块.我究竟做错了什么?(python2.7)
所以我有一个目录'2014_07_13_test',里面有两个文件:
其中hello.py:
# !/usr/local/bin/python
# -*- coding: utf-8 -*-
def hello1():
print 'HelloWorld!'
Run Code Online (Sandbox Code Playgroud)
和test.py:
# !/usr/local/bin/python
# -*- coding: utf-8 -*-
from hello import hello1
hello1()
Run Code Online (Sandbox Code Playgroud)
仍然python给了我
>>> Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 4, in <module>
ImportError: No module named hello
Run Code Online (Sandbox Code Playgroud)
怎么了?
如何将生成的dask.DataFrame转换为pandas.DataFrame(假设我完成了繁重的工作,并且只想将sklearn应用于我的聚合结果)?
所以我有一个像这样的DataFrame:
N start
1 1 08/01/2014 9:30:02
2 1 08/01/2014 10:30:02
3 2 08/01/2014 12:30:02
4 3 08/01/2014 4:30:02
Run Code Online (Sandbox Code Playgroud)
我需要复制每一行N次,每次增加一小时,如下所示:
N start
1 1 08/01/2014 9:30:02
2 1 08/01/2014 10:30:02
3 2 08/01/2014 12:30:02
3 2 08/01/2014 13:30:02
4 3 08/01/2014 4:30:02
4 3 08/01/2014 5:30:02
4 3 08/01/2014 6:30:02
Run Code Online (Sandbox Code Playgroud)
我怎么能在熊猫里做到这一点?
我正在尝试将 dask 数据框聚合到一组指标,包括中位数,但看起来不支持该中位数。有机会汇总并获得中位数吗?
st_agg = df.groupby(['start station id', 'end station id']).agg({'usertype':'count', 'tripduration':'median'})
>>> ValueError: unknown aggregate median
Run Code Online (Sandbox Code Playgroud) 我在bash中声明了几个变量(通过〜/ .bash_profile),它们在bash本身以及在bash中启动的python中工作.
例:
export PUIBy="Dropbox/CUSP/1_1_PUI/PUI_Bycicle_Research/"
Run Code Online (Sandbox Code Playgroud)
但是,当我启动Jupyter笔记本时,os.environ看不到它们中的任何一个,显示一些默认的变量列表(PWD,SUDO_USER,USERNAME,JPY_PARENT_PID,SSH_AUTH_SOCK,SUDO_UID,GIT_PAGER等)
我的系统是Mac OS El Captain,anaconda ipython 2.7
我有一个参数的数据框,并将函数应用于每一行。此函数本质上是几个sql_queries和对结果的简单计算。
我正在尝试利用Dask的多处理功能,同时保持结构和〜接口。以下示例可以工作,并且确实可以大大提高工作效率:
def get_metrics(row):
record = {'areaName': row['name'],
'areaType': row.area_type,
'borough': row.Borough,
'fullDate': row['start'],
'yearMonth': row['start'],
}
Q = Qsi.format(unittypes=At,
start_date=row['start'],
end_date=row['end'],
freq='Q',
area_ids=row['descendent_ids'])
sales = _get_DF(Q)
record['salesInventory'] = len(sales)
record['medianAskingPrice'] = sales.price.median()
R.append(record)
R = []
x = ddf.map_partition(lambda x: x.apply(_metric, axis=1), meta={'result': None})
x.compute()
result2 = pd.DataFrame(R)
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试使用.applymethod代替时(见下文),它使我'DataFrame' object has no attribute 'name'...
R = list()
y = ddf.apply(_metrics, axis=1, meta={'result': None})
Run Code Online (Sandbox Code Playgroud)
但是,ddf.head()显示name数据帧中有一列
我正在通过开发一个闪亮的应用程序来学习Shiny,它创建了一个关于所选csv文件的报告.我能够输出dataFrame头和摘要.但是,我坚持保存df的str()表示,因为str()函数返回NULL,而是将内容打印到控制台.
是否有任何解决方法将str()保存到变量以便在闪亮的应用程序中表示它?
我有一个简单的任务:在 luigi 中,使用 dropbox-python sdk 将 Pandas 数据帧作为 csv 存储在 dropbox 中
通常(例如,使用 S3)您可以将 StringIO 用作类似文件的内存中对象。它也适用于熊猫df.to_csv()
不幸的是,dropbox sdk 需要二进制类型,我不知道如何将 StringIO 转换为二进制:
with io.StringIO() as f:
DF.to_csv(f, index=None)
self.client.files_upload(f, path=path, mode=wmode)
TypeError: expected request_binary as binary type, got <class '_io.StringIO'>
Run Code Online (Sandbox Code Playgroud)
ByteIO 不适用于df.to_csv()...
我有一个URL列表,我很乐意立即将它们读到dask数据框,但看起来read_csv不能使用星号http.有没有办法实现这一目标?
这是一个例子:
link = 'http://web.mta.info/developers/'
data = [ 'data/nyct/turnstile/turnstile_170128.txt',
'data/nyct/turnstile/turnstile_170121.txt',
'data/nyct/turnstile/turnstile_170114.txt',
'data/nyct/turnstile/turnstile_170107.txt'
]
Run Code Online (Sandbox Code Playgroud)
而我想要的是
df = dd.read_csv('XXXX*X')
我已经将一组 luigi 任务包装到一个包中。目前,每个 etl-taskluigi.cfg在同一目录中都有自己的文件,但是由于所有这些.cfg文件都是相同的,它看起来并不理想。最重要的是,我更喜欢从不同的包/环境变量编写 S3 凭据,而不是存储在 git 中的平面文件中。
从包内为 luigi 设置默认/通用配置的最佳方法是什么?
看起来luigi.Config和luigi.interface.core包很有希望,但我仍然不确定我需要在哪里执行/启动它们。
所以我有一个包含调查结果的数据框.问题是,我有几个问题,在单元格中有多个答案.例如:
q1|q2
answer1;answer2;ansert4 |1986
Run Code Online (Sandbox Code Playgroud)
所以我需要为特定的分析任务提取"整洁"的数据集,这意味着:将这些单元格拆分到同一列中并复制其他指定的列,这样就可以了:
q1|q2
answer1|1986
answer2|1986
answer4|1986
Run Code Online (Sandbox Code Playgroud)
我怎么能在R?我很确定这是一项简单的任务,但我没有任何线索......
是否有任何理由使用Ipyparallel用于常见的python脚本(不是ipython notebook)?