如何使用dask
特定的AWS配置文件(存储在凭证文件中)在s3上读取镶木地板文件。Dask s3fs
使用boto
。这是我尝试过的:
>>>import os
>>>import s3fs
>>>import boto3
>>>import dask.dataframe as dd
>>>os.environ['AWS_SHARED_CREDENTIALS_FILE'] = "~/.aws/credentials"
>>>fs = s3fs.S3FileSystem(anon=False,profile_name="some_user_profile")
>>>fs.exists("s3://some.bucket/data/parquet/somefile")
True
>>>df = dd.read_parquet('s3://some.bucket/data/parquet/somefile')
NoCredentialsError: Unable to locate credentials
Run Code Online (Sandbox Code Playgroud) 我想在 sphinx 中包含乳胶文档。sphinx html build 不包括使用.. raw:: latex
指令链接的乳胶文件。我有
这是我的目录结构
docs/
source/
importlatex.rst
index.rst
build/
tex/
texfile.tex
Run Code Online (Sandbox Code Playgroud)
index.rst
好像
Welcome to documentation!
=========================
Contents:
.. toctree::
:maxdepth: 2
icnludelatex
and-other-stuff
Run Code Online (Sandbox Code Playgroud)
icnludelatex.rst
好像:
Include Latex
=============
.. raw:: latex
:file: ../tex/texfile.tex
Run Code Online (Sandbox Code Playgroud)
此参考提供了包含 html 的示例
.. raw:: html
:file: inclusion.html
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
我有一个结构类似的自定义项目包:
package-dir/
mypackage/
__init__.py
submodule1/
__init__.py
testmodule.py
main.py
requirements.txt
setup.py
Run Code Online (Sandbox Code Playgroud)
使用cd package-dir
随后$pip install -e .
或pip install .
所建议蟒包装只要我从访问包package-dir
例如 :
$cd project-dir
$pip install .
Run Code Online (Sandbox Code Playgroud)
在这一点上这工作:
$python -c 'import mypackage; import submodule1'
Run Code Online (Sandbox Code Playgroud)
但这不起作用
$ cd some-other-dir
$ python -c 'import mypackage; import submodule1'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named submodule1
Run Code Online (Sandbox Code Playgroud)
如何安装所有子模块?
另外,如果我检查package-dir/build/lib.linux-x86_64-2.7/mypackage
目录,我只会看到立即文件,mypackage/*.py
并且没有mypackage/submodule1
setup.py
看起来像:
from setuptools import setup …
Run Code Online (Sandbox Code Playgroud) 我需要为每个组插入缺失的类别,这是一个例子:
import pandas as pd
import numpy as np
df = pd.DataFrame({ "group":[1,1,1 ,2,2],
"cat": ['a', 'b', 'c', 'a', 'c'] ,
"value": range(5),
"value2": np.array(range(5))* 2})
df
# test dataframe
cat group value value2
a 1 0 0
b 1 1 2
c 1 2 4
a 2 3 6
c 2 4 8
Run Code Online (Sandbox Code Playgroud)
说我有一些categories = ['a', 'b', 'c', 'd']
。如果cat
列不包含列表中的类别,我想为每个具有 value 的组插入一行0
。如何在每组插入一行if category,以便获取每组的所有类别
cat group value value2
a 1 0 0
b 1 1 …
Run Code Online (Sandbox Code Playgroud) using DataFrames
df = DataFrame(A = 1:10, B = 2:2:20)
10x2 DataFrame
| Row | A | B |
|-----|----|----|
| 1 | 1 | 2 |
| 2 | 2 | 4 |
| 3 | 3 | 6 |
| 4 | 4 | 8 |
| 5 | 5 | 10 |
...
...
Run Code Online (Sandbox Code Playgroud)
是否可以通过使用值列表来对数据帧进行子集化,例如
df[df[:A] .in [3,4], :]
Run Code Online (Sandbox Code Playgroud)
如果列表很小,可以通过以下方式完成
df[(df[:A] .== 3) | (df[:A] .== 4), :]
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有办法对大量值执行此操作
from scipy.cluster.hierarchy import dendrogram, linkage,fcluster
import numpy as np
import matplotlib.pyplot as plt
# data
np.random.seed(4711) # for repeatability of this tutorial
a = np.random.multivariate_normal([10, 0], [[3, 1], [1, 4]], size=[100,])
b = np.random.multivariate_normal([0, 20], [[3, 1], [1, 4]], size=[50,])
X = np.concatenate((a, b),)
plt.scatter(X[:,0], X[:,1])
Run Code Online (Sandbox Code Playgroud)
# fit clusters
Z = linkage(X, method='ward', metric='euclidean', preserve_input=True)
# plot dendrogram
Run Code Online (Sandbox Code Playgroud)
max_d = 50
clusters = fcluster(Z, max_d, criterion='distance')
# now if I have new data
a = np.random.multivariate_normal([10, 0], [[3, 1], [1, …
Run Code Online (Sandbox Code Playgroud) python cluster-analysis hierarchical-clustering scipy data-science
我试图在日期列上合并两个数据帧(尝试作为类型object
或datetime.date
,但无法提供所需的合并输出:
import pandas as pd
df1 = pd.DataFrame({'amt': {0: 1549367.9496070854,
1: 2175801.78219801,
2: 1915613.1629125737,
3: 1703063.8323954903,
4: 1770040.7987461537},
'month': {0: '2015-02-01',
1: '2015-03-01',
2: '2015-04-01',
3: '2015-05-01',
4: '2015-06-01'}})
print(df1)
amt month
0 1.549368e+06 2015-02-01
1 2.175802e+06 2015-03-01
2 1.915613e+06 2015-04-01
3 1.703064e+06 2015-05-01
4 1.770041e+06 2015-06-01
df2 = {'factor': {datetime.date(2015, 2, 1): 1.0,
datetime.date(2015, 3, 1): 1.0,
datetime.date(2015, 4, 1): 1.0,
datetime.date(2015, 5, 1): 1.0,
datetime.date(2015, 6, 1): 0.99889679025914435},
'month': {datetime.date(2015, 2, 1): datetime.date(2015, 2, …
Run Code Online (Sandbox Code Playgroud) 如何从这个表单中获取数据(数据的长表示):
import pandas as pd
df = pd.DataFrame({
'c0': ['A','A','B'],
'c1': ['b','c','d'],
'c2': [1, 3,4]})
print(df)
Run Code Online (Sandbox Code Playgroud)
日期:
c0 c1 c2
0 A b 1
2 A c 3
3 B d 4
Run Code Online (Sandbox Code Playgroud)
这种形式:
c0 c1 c2
0 A b 1
2 A c 3
3 A d NaN
4 B b NaN
5 B c NaN
6 B d 4
Run Code Online (Sandbox Code Playgroud)
长期从长到长的转型是这样做的唯一方法吗?
我正在尝试将嵌入层与其他功能连接起来。它不会给我任何错误,但也不做任何训练。这个模型定义有问题吗,如何调试?
\n\n注意:我的 X 中的最后一列(特征)是带有 word2ix(单个单词)的特征。\n注意:网络在没有嵌入特征/层的情况下也可以正常工作
\n\n最初发布在 pytorch论坛上
\n\n\nclass Net(torch.nn.Module):\n def __init__(self, n_features, h_sizes, num_words, embed_dim, out_size, dropout=None):\n super().__init__()\n\n\n self.num_layers = len(h_sizes) # hidden + input\n\n\n self.embedding = torch.nn.Embedding(num_words, embed_dim)\n self.hidden = torch.nn.ModuleList()\n self.bnorm = torch.nn.ModuleList()\n if dropout is not None:\n self.dropout = torch.nn.ModuleList()\n else:\n self.dropout = None\n for k in range(len(h_sizes)):\n if k == 0:\n self.hidden.append(torch.nn.Linear(n_features, h_sizes[0]))\n self.bnorm.append(torch.nn.BatchNorm1d(h_sizes[0]))\n if self.dropout is not None:\n self.dropout.append(torch.nn.Dropout(p=dropout))\n\n else:\n if k == 1:\n input_dim = h_sizes[0] + embed_dim\n else:\n input_dim …
Run Code Online (Sandbox Code Playgroud) 如何向 hvplot 添加水平线?Holoviews 有 .HLine 和 .VLine 但不确定如何通过 pandas.hvplot 或 hvplot 访问它
这是一个示例数据框和绘图脚本。
import pandas as pd
import hvplot.pandas
df = pd.DataFrame({'A':[100], 'B':[20]})
df = df.reset_index()
print(df)
# index A B
#0 0 100 20
# create plot
plot = df.hvplot.bar(y=['A', 'B'], x='index',
rot=0, subplots=False, stacked=True)
plot
Run Code Online (Sandbox Code Playgroud)
获取我的测试数据:
import pandas as pd
df = {'Id': {1762056: 2.0, 1762055: 1.0},
'FillDate': {1762056: Timestamp('2015-08-01 00:00:00'), 1762055:Timestamp('2015-08-01 00:00:00')},
'Date': {1762056: nan, 1762055: nan},
}
df = pd.DataFrame(df)
Run Code Online (Sandbox Code Playgroud)
数据看起来像:
Id Date FillDate
1.0 NaN 2015-08-01
2.0 NaN 2015-08-01
Run Code Online (Sandbox Code Playgroud)
因此,为了填补缺失的日期,我这样做:
df['Date'].fillna(df['FillDate'], inplace=True)
Run Code Online (Sandbox Code Playgroud)
这给了我
Id Date FillDate
1.0 1438387200000000000 2015-08-01
2.0 1438387200000000000 2015-08-01
Run Code Online (Sandbox Code Playgroud)
如何获取Date
日期形式的列
使用索引列表和应用函数切片 numpy 数组,是否可以矢量化(或非矢量化的方式来做到这一点)?向量化将是大型矩阵的理想选择
import numpy as np
index = [[1,3], [2,4,5]]
a = np.array(
[[ 3, 4, 6, 3],
[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11],
[12, 13, 14, 15],
[1, 1, 4, 5]])
Run Code Online (Sandbox Code Playgroud)
按 中的行索引组求和index
,给出:
np.array([[8, 10, 12, 14],
[17, 19, 24, 37]])
Run Code Online (Sandbox Code Playgroud)