我有两个NumPy数组x和y.当我尝试使用指数函数和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)
问题是什么?
当我使用Matplotlib时,我的轴标签通常看起来不太好(太靠近刻度标签).

如何设置刻度标签和轴标签之间的距离?我只需要扩大"星数"标签和相应的刻度标签之间的距离.也许乳胶\vspace{}工作但我不知道如何实现它.fig.subplots_adjust(left=)不是解决方案.
当我使用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
当我绘制我的熊猫系列的密度分布时我会使用
.plot(kind='kde')
Run Code Online (Sandbox Code Playgroud)
是否有可能获得该图的输出值?如果是的话怎么做?我需要绘制的值.
我有一个偶数个浮点数的列表:
[2.34,3.45,4.56,1.23,2.34,7.89,......].
我的任务是计算1和2个元素的平均值,3和4,5和6等.在Python中执行此操作的简短方法是什么?
我有一个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循环可以做到这一点吗?
如何使用 LaTeX 表达式在 Matplotlib 中标记轴$\langle B_{\mathrm{e}} \rangle$?我需要用漂亮的“<”和“>”LaTeX括号标记我的轴。
我有一个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) 如何在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) 我是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-dialog和
matplotlib-figures-not-working-after-tkinter-file-dialog
但没有答案.这似乎root.destroy()对我不起作用.
当我尝试使用以下构造实现 SQLalchemy 引擎时
with sqlalchemy.create_engine("sqlite:///my_db.sqlite") as engine:
(do something)
Run Code Online (Sandbox Code Playgroud)
我收到一个错误: AttributeError: __exit__
怎么了?以及如何显式关闭我的 SQLalchemy 引擎?
我有两个不同的 NumPy 字符串数组。我需要对其进行比较并找出第二个数组中缺少第一个数组中的哪些元素。我还想使用 LIKE 运算符进行比较。做到这一点的捷径是什么?
我有一个熊猫数据帧:
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 ×12
matplotlib ×3
numpy ×3
pandas ×3
python-2.7 ×2
arrays ×1
ascii ×1
fortran ×1
latex ×1
macos ×1
scipy ×1
sqlalchemy ×1
sqlite ×1
tkinter ×1