小编dra*_*ega的帖子

SciPy中的指数曲线拟合

我有两个NumPy数组xy.当我尝试使用指数函数和curve_fit(SciPy)使用这个简单的代码来拟合我的数据时

#!/usr/bin/env python
from pylab import *
from scipy.optimize import curve_fit

x = np.array([399.75, 989.25, 1578.75, 2168.25, 2757.75, 3347.25, 3936.75, 4526.25, 5115.75, 5705.25])
y = np.array([109,62,39,13,10,4,2,0,1,2])

def func(x, a, b, c, d):
    return a*np.exp(b-c*x)+d

popt, pcov = curve_fit(func, x, y)
Run Code Online (Sandbox Code Playgroud)

我得错了系数 popt

[a,b,c,d] = [1., 1., 1., 24.19999988]
Run Code Online (Sandbox Code Playgroud)

问题是什么?

python numpy curve-fitting scipy

27
推荐指数
2
解决办法
4万
查看次数

如何在Matplotlib中更改刻度标签和轴标签之间的分隔

当我使用Matplotlib时,我的轴标签通常看起来不太好(太靠近刻度标签).

测试图像

如何设置刻度标签和轴标签之间的距离?我只需要扩大"星数"标签和相应的刻度标签之间的距离.也许乳胶\vspace{}工作但我不知道如何实现它.fig.subplots_adjust(left=)不是解决方案.

python matplotlib

10
推荐指数
2
解决办法
2万
查看次数

to_sql pandas方法改变了sqlite表的方案

当我使用to_sql方法将Pandas DataFrame写入我的SQLite数据库时.schema,即使我使用它也会更改我的表if_exists='append'.例如执行后

with sqlite3.connect('my_db.sqlite') as cnx:
    df.to_sql('Resolved', cnx, if_exists='append')
Run Code Online (Sandbox Code Playgroud)

原件.schema:

CREATE TABLE `Resolved` (
`Name` TEXT NOT NULL COLLATE NOCASE,
`Count` INTEGER NOT NULL,
`Obs_Date` TEXT NOT NULL,
`Bessel_year` REAL NOT NULL,
`Filter` TEXT NOT NULL,
`Comments` TEXT COLLATE NOCASE
);
Run Code Online (Sandbox Code Playgroud)

更改为:

CREATE TABLE Resolved (
                  [Name] TEXT,
  [Count] INTEGER,
  [Obs_Date] TEXT,
  [Bessel_year] REAL,
  [Filter] TEXT,
  [Comments] TEXT

                  );
Run Code Online (Sandbox Code Playgroud)

如何保存我桌子的原始方案?我使用pandas 0.14.0,Python 2.7.5

python pandas

7
推荐指数
1
解决办法
6157
查看次数

如何获得pandas .p​​lot(kind ='kde')的输出?

当我绘制我的熊猫系列的密度分布时我会使用

.plot(kind='kde')
Run Code Online (Sandbox Code Playgroud)

是否有可能获得该图的输出值?如果是的话怎么做?我需要绘制的值.

python pandas

6
推荐指数
2
解决办法
3667
查看次数

Python中列表中两个连续元素的平均值

我有一个偶数个浮点数的列表:

[2.34,3.45,4.56,1.23,2.34,7.89,......].

我的任务是计算1和2个元素的平均值,3和4,5和6等.在Python中执行此操作的简短方法是什么?

python

5
推荐指数
3
解决办法
6392
查看次数

在NumPy数组中替换部分字符串的最短方法

我有一个NumPy字符串数组

['HD\,315', 'HD\,318' ...]
Run Code Online (Sandbox Code Playgroud)

我需要将每个'HD \''替换为'HD',即我想获得如下所示的新数组

 ['HD 315', 'HD 318' ...]
Run Code Online (Sandbox Code Playgroud)

在Python中解决此任务的最简单方法是什么?没有FOR循环可以做到这一点吗?

python arrays numpy

5
推荐指数
3
解决办法
2万
查看次数

如何使用 LaTeX 括号在 Matplotlib 中标记轴?

如何使用 LaTeX 表达式在 Matplotlib 中标记轴$\langle B_{\mathrm{e}} \rangle$?我需要用漂亮的“<”和“>”LaTeX括号标记我的轴。

python latex matplotlib

5
推荐指数
1
解决办法
5276
查看次数

如何在Python中阅读Fortran固定宽度格式的文本文件?

我有一个Fortran格式的文本文件(这里是第3行):

00033+3251 A   B       C?      6.96    5.480" 358  9.12 F0V    0.00        2.28s  1.00: 2MASS, dJ=1.3
00033+3251 Aa  Ab  Aab S1,E    0.62    0.273m   0  9.28 F0V   11.28 K2     1.68*  0.32* SB 1469
00033+3251 Aab Ac  A   E*      4.26    0.076"   0  9.12 F0V    0.00        2.00s  0.28* 2008MNRAS.383.1506
Run Code Online (Sandbox Code Playgroud)

和文件格式说明:

--------------------------------------------------------------------------------
Bytes Format Units   Label     Explanations
--------------------------------------------------------------------------------
 1- 10  A10   ---     WDS       WDS(J2000)
12- 14  A3    ---     Primary   Designation of the primary
16- 18  A3    ---     Secondary Designation of the secondary component
20- 22 …
Run Code Online (Sandbox Code Playgroud)

ascii fortran python-2.7

5
推荐指数
1
解决办法
1865
查看次数

Python SQLite SELECT LIKE IN [列表]

如何在Python中编写SQL查询来选择Python列表中的元素?

例如,我有 Python 字符串列表

Names=['name_1','name_2',..., 'name_n']
Run Code Online (Sandbox Code Playgroud)

和 SQLite_table。

我的任务是找到最短路线

SELECT elements FROM SQLite_table WHERE element_name LIKE '%name_1%'
SELECT elements FROM SQLite_table WHERE element_name LIKE '%name_2%'
...
SELECT elements FROM SQLite_table WHERE element_name LIKE '%name_n%'
Run Code Online (Sandbox Code Playgroud)

python sqlite

3
推荐指数
1
解决办法
5677
查看次数

在Mac OS X上使用Tkinter和Matplotlib重复对话窗口

我是Tkinter的新手.我尝试使用下一个代码打开文件tkFileDialog.askopenfilename,然后使用Matplotlib绘制一些内容:

import matplotlib.pyplot as plt
import Tkinter, tkFileDialog

root = Tkinter.Tk()
root.withdraw()
file_path = tkFileDialog.askopenfilename()

x = range(10)
plt.plot(x)
plt.show()
Run Code Online (Sandbox Code Playgroud)

运行上面的脚本后,我得到一个对话窗口来打开我的文件.文件选择后,我会重复对话窗口打开文件,并在屏幕底部打开一个新窗口.我知道问题是因为plt.show().会发生什么以及如何避免重新打开对话框窗口?我应该为我的任务设置Matplotlib后端吗?

我的版本:

Tcl/Tk 8.5.9

Matplotlib 1.3.1

Tkinter $ Revision:81008 $

OS X 10.9.4

我找到了两个相关的stackoverflow问题: pyplot-show-reopens-old-tkinter-dialogmatplotlib-figures-not-working-after-tkinter-file-dialog 但没有答案.这似乎root.destroy()对我不起作用.

python macos tkinter matplotlib python-2.7

3
推荐指数
1
解决办法
2320
查看次数

带有语句和 SQLalchemy 引擎

当我尝试使用以下构造实现 SQLalchemy 引擎时

with sqlalchemy.create_engine("sqlite:///my_db.sqlite") as engine:
     (do something)
Run Code Online (Sandbox Code Playgroud)

我收到一个错误: AttributeError: __exit__

怎么了?以及如何显式关闭我的 SQLalchemy 引擎?

python sqlalchemy

2
推荐指数
1
解决办法
1235
查看次数

NumPy 中两个字符串数组的比较

我有两个不同的 NumPy 字符串数组。我需要对其进行比较并找出第二个数组中缺少第一个数组中的哪些元素。我还想使用 LIKE 运算符进行比较。做到这一点的捷径是什么?

python numpy

0
推荐指数
1
解决办法
5778
查看次数

gropuby 并删除 pandas DataFrame 中的指定组

我有一个熊猫数据帧:

df=pd.DataFrame({'A':[1,1,2,2,3,3],'B':['c','t','k','c','c','k']})
Run Code Online (Sandbox Code Playgroud)

我需要按 A 对 df 进行分组并删除 B ='t' 的 A 组。什么是熊猫groupby语法来做到这一点?在我的示例答案中,A 组 2 和 3。

python pandas

0
推荐指数
1
解决办法
683
查看次数