小编gis*_*s20的帖子

在某些单元格openpyxl中添加超链接

我必须使用摘要结果生成一个excel.结果包含在列表中.一些元素是值和一些链接.

我设法用正确的格式生成excel但不在某些单元格中生成超链接

我的尝试:来自openpyxl导入工作簿

from openpyxl.styles import PatternFill, Border, Side, Alignment, Protection, Font, Fill
from openpyxl.cell import get_column_letter

def summaryMCP(self,result):

            c1=Column('Name',[result[0]])
            c2=Column('R2 check',[result[1]])
            c3=Column('Dir Diff.',[result[2]])

            c4=Column('CHI2 Sm-Sc',[result[3]])#Lets say this one is a hyperlink to one image png
            c5=Column('Rose Sm-Sc',[result[4]])

            s=Sheet("MCP main results", [c1,c2,c3,c4,c5]
            excelMCP([s],"/results.xlsx") 

def excelMCP(self, sheets,foname):
            wb = Workbook()
            ws = wb.active
            #from here format options (a bit long)
Run Code Online (Sandbox Code Playgroud)

我的问题是,我可以在def summaryMCP中定义列时定义值是超链接,然后在excelMCP中定义链接的格式吗?万一,怎么样?到目前为止我找不到它

python excel hyperlink openpyxl

11
推荐指数
3
解决办法
9549
查看次数

从不同列中获取绝对值的最大值并过滤掉NaN Python

这是我的尝试.例如

df = pd.DataFrame({'a':[5,0,1,np.nan], 'b':[np.nan,1,4,3], 'c':[-3,-2,0,0]})
df.dropna(axis=1).max(axis=1,key=abs)
Run Code Online (Sandbox Code Playgroud)

过滤掉这些NaN值,但它的值为0或负值,而不是绝对值的高值

结果应该是一列

5
-2
4
3
Run Code Online (Sandbox Code Playgroud)

python max nan absolute-value pandas

6
推荐指数
3
解决办法
4992
查看次数

熊猫每月重新采样第 15 天

我正在尝试重新采样到每月的值,但关于第 15 天

我检查了时间序列偏移量文档,但只有

M 月结束频率 SM 半月结束频率(15 日和月末) MS 月开始频率 SMS 半月开始频率(第 1 和 15 日)

而我只需要第 15 天

就像是

2000-01-15 8.7
2000-02-15 6.9
2000-03-15 15.8
2000-04-15 12.4
Run Code Online (Sandbox Code Playgroud)

我试过 pd.offsets.MonthBegin 和 MonthOffset 没有结果

python resampling pandas

4
推荐指数
1
解决办法
2619
查看次数

使用一系列角度创建循环列表 python

我有一个列表列表,其中包含角度集的下限和上限

就像是

[[1,22],[2,24]...[359,15],[360,21]]

总共360个元素

现在我想检查从 1 到 360 的每个角度,列表中包含该角度的元素

我正在考虑使用下限和上限来使用rangeor创建列表的所有元素np.arange(lower,upper)并检查是否包含角度,但当np.arangelower 高于 upper 时会生成空列表

for i in range(1,361):
    sel=[]
    for coe in coef:
        if i in range(coe[0],coe[1]):
            sel.append(coe)
Run Code Online (Sandbox Code Playgroud)

我也尝试过itertoolsandcycle但我不知道如何在这种情况下应用它

python range circular-list

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

NAN值在python中被认为是字符串

我正在为python中的一个小应用程序编写代码,我意识到当我的导入数据函数中出现错误时,文件(txt,dat,csv ...)包含缺少值,如NAN或"NAN"中的某些数据,如果这些值写为nan或NaN,则导入数据没有问题.

例如

06.02.2011 00:10:00 NAN 43 30 2 37 42 30 2 34 41 19 4 302 5 306 8 69 2810 2811 2810 974 46 130
06.02.2011 00:20:00 36 41 28 2 36 42 27 2 35 42 26 3 295 8 298 8 69 2811 2811 2811 974 46 130
Run Code Online (Sandbox Code Playgroud)

第一行中的值NAN将引发错误,因为它被视为数据中的字符串

虽然具有nan值的文件被认为是缺失值,因此没有问题

06.02.2011 00:10:00 nan 43 30 2 37 42 30 2 34 41 19 4 302 5 306 8 69 2810 2811 2810 974 46 130 …
Run Code Online (Sandbox Code Playgroud)

python nan pandas

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

基于第三个变量的带有颜色条的 2 个变量的散点图

我试图用变量 x 相对于另一个 y 进行绘图,并根据另一个变量 z 的值添加颜色图

所以情节应该类似于这个

地块

我的尝试

import numpy as np
import pandas as pd
import seaborn as sns
import random
import matplotlib.pyplot as plt
import matplotlib.cm as cm

x=np.random.randint(0,20,30)
y=np.random.randint(-5,5,30)
z=np.random.randint(-2,10,30)
df=pd.DataFrame(data={'A':x,'B':y,'C':z})

points = plt.scatter(df['A'],df['B'],cmap="jet")
m = cm.ScalarMappable(cmap=cm.jet)
m.set_array(df['C'])
plt.colorbar(points)
sns.lmplot('A', 'B', data=df, hue='C', fit_reg=False)

TypeError: You must first set_array for mappable
Run Code Online (Sandbox Code Playgroud)

我正在混合 matplotlib 和 seaborn,就像在 seaborn 中一样我不能使用颜色图“jet”但是欢迎使用任何替代方法来获得相同的图形

python matplotlib scatter-plot colorbar seaborn

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

列表理解替换 if 条件 else

我正在尝试使用高度值格式化列表,但某些元素不是值

hei=['NN', '99.0m', '99.0m', '99.0m', '99.0m', '97.0m', '97.0m', '97.0m','rat_v2']
Run Code Online (Sandbox Code Playgroud)

所以我想用rstrip删除'm'并替换'_'的非数值

这是我的尝试

heiFormat=[k.rstrip('m') if k[0].isdigit else k.replace(k,'_') for k in hei]
Run Code Online (Sandbox Code Playgroud)

但结果并不完全正确,好像没有替换非数字

heiFormat=['NN', '99.0', '99.0', '99.0', '99.0', '97.0', '97.0', '97.0','rat_v2']
Run Code Online (Sandbox Code Playgroud)

虽然我想要类似的东西

heiFormat=['_', '99.0', '99.0', '99.0', '99.0', '97.0', '97.0', '97.0','_']
Run Code Online (Sandbox Code Playgroud)

有什么问题或缺少什么?

python replace list-comprehension list

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

带有pandas.plot的透明图例

我检查了熊猫图的文件

pd.df.plot

但我找不到任何使图例透明的选项

我知道如何使用matplotlib

subplot.legend(loc='best', fancybox=True, framealpha=0.5)
Run Code Online (Sandbox Code Playgroud)

但我需要使用熊猫数据框图

任何的想法?

python plot transparency pandas

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