我有一些代码正在 Jupyter Notebook 中绘制,我想要做的就是将图像另存为 PNG,这样我就可以在我正在做的一些工作中将其用作高 DPI 图像:
data = [trace1, trace2]
layout = {"title": "",
"xaxis": {"title": "", },
"yaxis": {"title": ""}}
fig = go.Figure(data=data, layout=layout)
plotly.offline.iplot(fig)
Run Code Online (Sandbox Code Playgroud)
我不知道如何将它保存为 PNG 文件,特别是将它保存为我的 Jupyter Notebook 文件夹中的 PNG 文件。
我已经尝试了在这里找到的解决方案: How to save Plotly Offline graph in format png?
但我不确定将代码放在哪里,因为我的绘图代码不同。我所做的一切都以错误告终。有什么建议?
我有以下代码可以生成气泡图,然后将标签作为文本添加到图中:
fig, ax = plt.subplots(figsize = (5,10))
# create data
x = [1,1,1,1,1,1,1,1,1,1]
y = ['A','B','C','D',
'E','F','G','H','I','']
z = [10,20,80,210,390,1050,2180,4690,13040,0]
labels = [1,2,8,21,39,105,218,469,1304]
plt.xlim(0.9,1.1)
for i, txt in enumerate(labels):
ax.annotate(txt, (x[i], y[i]), ha='center', va='center', )
plt.scatter(x, y, s=z*4000, c="#8C4799", alpha=0.3)
Run Code Online (Sandbox Code Playgroud)
我有垂直和水平居中的文本标签(即 1304,469 等),但理想情况下我希望它向右移动,以便远离气泡。我试过ha=right,但它只是轻推它一点点。
有什么我可以用来将它完全远离气泡的东西吗?即代码我可以把它如下for loop:
for i, txt in enumerate(labels):
ax.annotate(txt, (x[i], y[i]), ha='center', va='center', )
Run Code Online (Sandbox Code Playgroud) 我有一个包含整数的数据框,但是当我旋转它时,它会创建浮点数,因此我无法弄清原因:
我的数据框(dfDis)如下所示:
Year Type Total
0 2006 A talk or presentation 34
1 2006 A magazine, newsletter or online publication 33
2 2006 A formal working group, expert panel or dialogue 2
3 2006 Scientific meeting (conference/symposium etc.) 10
4 2006 A press release, press conference or response ... 6
....
Run Code Online (Sandbox Code Playgroud)
我的枢纽代码是:
dfDisB = pd.pivot_table(dfDis, index=['Year'], columns = ['Type'],fill_value=0)
Run Code Online (Sandbox Code Playgroud)
出于某种原因,dfDisB最终会像这样(很抱歉格式化,希望您能理解):
Total
Type A broadcast e.g. TV/radio/film/podcast (other than news/press) A formal working group, expert panel or dialogue A magazine, newsletter …Run Code Online (Sandbox Code Playgroud) 我只是在写一个小型的python游戏,很有趣,我有一个函数可以开始叙述。
我正在尝试让音频在后台播放,但是很遗憾,在该功能继续之前,首先播放的是mp3文件。
我如何使其在后台运行?
import playsound
def displayIntro():
playsound.playsound('storm.mp3',True)
print('')
print('')
print_slow('The year is 1845, you have just arrived home...')
Run Code Online (Sandbox Code Playgroud)
另外,有什么方法可以控制播放声音模块的音量?
我应该补充一点,我使用的是Mac,但我不喜欢使用playsound,它似乎是我可以使用的唯一模块。
我正在使用 Pyodbc,并且已连接到数据库。我可以轻松地提取仅使用 SELECT 和 FROM 语句的数据。
但是,当我尝试使用 WHERE 语句时,它会抛出语法错误:
这是代码:
import pyodbc
conn = pyodbc.connect('DSN=QueryBuilder')
cursor = conn.cursor()
cursor.execute('SELECT * FROM dbo.Grantinformation WHERE HoldingOrganisationName = 'university of edinburgh'')
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
语法错误:无效语法
如果我运行:
SELECT *
FROM dbo.Grantinformation
WHERE HoldingOrganisationName = 'university of edinburgh'
Run Code Online (Sandbox Code Playgroud)
在 SQL Server Management Studio 中,SQL 运行良好,所以很明显我在使用 pyodbc 时做错了什么?
非常感谢
我的数据框中有一列(称为'FY'),其格式为财务年度值:2015/2016或2016/2017.
我想转换整个列,所以它说15/16或16/17等等.
我假设你只是从字符串中获取第3,第4和第5个字符,以及第8和第9个字符,但是还没有得到如何做到这一点的线索.
谁能帮助我?谢谢.
我已经检查过:
这些回应似乎都不起作用。
我有一个数据框,其中元组作为列标题:
list(dfA)
[('Total', 'Book'),
('Total', 'Book Chapter'),
('Total', 'Book edited'),
('Total', 'Conference Proceeding_Abstract'),
('Total', 'Consultancy Report'),
('Total', 'Journal Article'),
('Total', 'Manual / Guide'),
('Total', 'Manual/Guide'),
('Total', 'Monograph'),
('Total', 'Other'),
('Total', 'Policy briefing_report'),
('Total', 'Scholarly edition'),
('Total', 'Systematic review'),
('Total', 'Technical Report'),
('Total', 'Technical Standard'),
('Total', 'Thesis'),
('Total', 'Working Paper')]
Run Code Online (Sandbox Code Playgroud)
我尝试了多种重命名方法,但都行不通。我应该提到,列可能会改变,但这是最大数量(因此我不使用位置)
我尝试过的这段代码是:
dfA.rename(columns = {('Total', 'Book') : 'Book'})
dfA = dfA.rename(columns = {('Total', 'Book') : 'Book'})
dfA.rename(columns={'('Total', 'Book')':"Book"})
Run Code Online (Sandbox Code Playgroud)
我也尝试过将它们转换为字符串,如下所示:
dfA.columns = [str(s) for s in dfA.columns]
Run Code Online (Sandbox Code Playgroud)
然而,它仍然不会改变任何事情。有什么建议么?
我试图遍历数据帧,对每一行进行分类,并将输出添加到新列的行尾.
它似乎是为每一行添加相同的分类
dfMach = pd.read_csv("C:/Users/nicholas/Desktop/machineSum.csv", encoding='latin-1')
dfNew = dfMach
dfNew["Classification"] = ""
for index, row in dfMach.iterrows():
aVar = dfMach['Summary'].iat[0]
aClass = cl.classify(aVar)
dfNew['Classification'] = aClass
Run Code Online (Sandbox Code Playgroud)
我哪里错了?
谢谢
python ×8
pandas ×4
dataframe ×2
audio ×1
matplotlib ×1
pivot-table ×1
playsound ×1
plotly ×1
pyodbc ×1
sql ×1