我必须使用摘要结果生成一个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中定义链接的格式吗?万一,怎么样?到目前为止我找不到它
这是我的尝试.例如
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) 我正在尝试重新采样到每月的值,但关于第 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 没有结果
我有一个列表列表,其中包含角度集的下限和上限
就像是
[[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中的一个小应用程序编写代码,我意识到当我的导入数据函数中出现错误时,文件(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) 我试图用变量 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”但是欢迎使用任何替代方法来获得相同的图形
我正在尝试使用高度值格式化列表,但某些元素不是值
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)
有什么问题或缺少什么?
我检查了熊猫图的文件
但我找不到任何使图例透明的选项
我知道如何使用matplotlib
subplot.legend(loc='best', fancybox=True, framealpha=0.5)
Run Code Online (Sandbox Code Playgroud)
但我需要使用熊猫数据框图
任何的想法?
python ×8
pandas ×4
nan ×2
colorbar ×1
excel ×1
hyperlink ×1
list ×1
matplotlib ×1
max ×1
openpyxl ×1
plot ×1
range ×1
replace ×1
resampling ×1
scatter-plot ×1
seaborn ×1
transparency ×1