嗨:我正在尝试使用该Pandas DataFrame.to_csv方法将文件保存dataframe到csv文件中:
filename = './dir/name.csv'
df.to_csv(filename)
Run Code Online (Sandbox Code Playgroud)
但是我收到错误:
IOError: [Errno 2] No such file or directory: './dir/name.csv'
Run Code Online (Sandbox Code Playgroud)
如果to_csv该文件不存在,该方法是否应该能够创建该文件?这就是我打算做的事情.
我最近根据他们的说明在我的 Linux 机器(安装了 Python 3.6)上安装了 Jupyter Notebook :
python3 -m pip install --upgrade pip
python3 -m pip install jupyter
Run Code Online (Sandbox Code Playgroud)
然而,当我跑
jupyter notebook
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Error executing Jupyter command 'notebook': [Errno 2] No such file or directory
Run Code Online (Sandbox Code Playgroud)
如果我运行:
cd /usr/bin
ls -l | grep jupyter
Run Code Online (Sandbox Code Playgroud)
结果是:
-rwxr-xr-x 1 root root 397 Feb 20 00:29 jupyter
-rwxr-xr-x 1 root root 413 Feb 20 00:29 jupyter-migrate
-rwxr-xr-x 1 root root 423 Feb 20 00:29 jupyter-troubleshoot
Run Code Online (Sandbox Code Playgroud)
那里似乎没有“笔记本”脚本。
python3 -m pip list包括notebook …
我一直在使用scipy.optimize.minimize (docs)
当我定义一个不可能满足约束的问题时,我注意到了一些奇怪的行为.这是一个例子:
from scipy import optimize
# minimize f(x) = x^2 - 4x
def f(x):
return x**2 - 4*x
def x_constraint(x, sign, value):
return sign*(x - value)
# subject to x >= 5 and x<=0 (not possible)
constraints = []
constraints.append({'type': 'ineq', 'fun': x_constraint, 'args': [1, 5]})
constraints.append({'type': 'ineq', 'fun': x_constraint, 'args': [-1, 0]})
optimize.minimize(f, x0=3, constraints=constraints)
Run Code Online (Sandbox Code Playgroud)
结果输出:
fun: -3.0
jac: array([ 2.])
message: 'Optimization terminated successfully.'
nfev: 3
nit: 5
njev: 1
status: 0
success: True
x: array([ …Run Code Online (Sandbox Code Playgroud) 给定具有以下结构的 DataFrame:
Date | Site | Measurement Type | Value
-----------------------------------------------
1/1/2020 | A | Temperature | 32.3
1/2/2020 | B | Humidity | 70%
Run Code Online (Sandbox Code Playgroud)
我想创建一个 3D“数据透视表”,其中第一个轴代表站点,第二个代表日期,第三个代表测量类型,并且值存储在每个元素中。
例如,如果我在 5 个地点进行为期一周的每日测量,同时测量温度和湿度,则所需的输出将是一个形状为 (5, 7, 2) 的数组。
Pandas 似乎只支持创建 2D 数据透视表,但我很高兴只有一个未标记的 3D numpy 数组作为输出。在我花时间自己实现之前,想知道是否有一种简单的方法可以做到这一点。
我想知道如何在 DataFrame 中绘制时间序列,在同一轴上,每个组都有不同的线。我还想根据一些(布尔)条件更改线型。下面是一个例子:
import pandas as pd
import numpy as np
from datetime import datetime, timedelta
from dateutil.parser import parse
from matplotlib import pyplot as plt
df = pd.DataFrame({'value': np.random.rand(18),
'group': ['A']*9 + ['B']*9,
'future': [0, 0, 0, 0, 0, 0, 1, 1, 1]*2},
index=[parse('2018-1-5') + timedelta(days=i) for i in range(9)]*2)
Run Code Online (Sandbox Code Playgroud)
结果数据帧:
future group value
2018-01-05 0 A 0.076445
2018-01-06 0 A 0.800821
2018-01-07 0 A 0.410351
2018-01-08 0 A 0.039647
2018-01-09 0 A 0.664102
2018-01-10 0 A 0.192097
2018-01-11 …Run Code Online (Sandbox Code Playgroud) python ×4
pandas ×3
python-2.7 ×2
jupyter ×1
matplotlib ×1
numpy ×1
pip ×1
pivot-table ×1
python-3.x ×1
scipy ×1