小编alk*_*key的帖子

使用列表列表作为查找表并更新新列表列表中的值

我有一个创建列表列表的应用程序。列表中的第二个元素需要使用查找列表进行分配,查找列表也包含一个列表列表。

我已经使用“所有”方法来匹配列表中的值。如果列表值存在于查找列表中,则它应更新新列表中的第二个位置元素。然而,这种情况并非如此。即使所有元素都存在于两个列表中,==比较符也会对所有元素产生False匹配。

我还尝试了各种索引查找命令组合,但它们无法解压缩每个列表的值。

我的代码如下。目标是用lookupList中的数字替换newData中的“ xxx”值。

lookupList= [['Garry','34'],['Simon', '24'] ,['Louise','13'] ]

newData = [['Louise','xxx'],['Garry', 'xxx'] ,['Simon','xxx'] ]  

#Matching values
for i in newData: 
    if (all(i[0] == elem[0] for elem in lookupList)):
        i[1] = elem[1]
Run Code Online (Sandbox Code Playgroud)

python list

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

Matplotlib,具有共享颜色条的多个散点图

我正在尝试创建一组散点图,并希望它们共享相同的颜色条。

我遵循了此处的指导但它似乎仅适用于绘制对象具有自动缩放属性的图像。

我使用的代码如下:

import matplotlib.pyplot as plt
import numpy
import random

x = []
y = []

for i in range(100):
    x.append(random.normalvariate(100,10))
    y.append(random.normalvariate(100,10))

#Creates a list of length n 
def getRand(n):
    l = []
    for i in range(n):
        l.append(random.normalvariate(1,10))
    return l

f = plt.figure()    
f, axes = plt.subplots(nrows = 2, ncols = 2, sharex=True, sharey = True)

axes[0][0].scatter(getRand(100),getRand(100), c = getRand(100), marker = "x")
axes[0][0].set_xlabel('Crosses', labelpad = 5)

axes[0][1].scatter(getRand(100),getRand(100), c = getRand(100), marker = 'o')
axes[0][1].set_xlabel('Circles', …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

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

访问 Pandas 列中不规则出现的列表值的第一项

我有一个 pandas 数据框,在其中一列中,某些值中出现了列表值。我需要能够提取列表的第一项,如果它是一个列表,如果它不是一个列表,那么该值将保持不变。我正在努力使用 lambda 函数来实现它:

df1 = pd.DataFrame({'Fruits':['Apple',['Banana',6],'Kiwi','Cheese']})

df1['Fruits'] = df1['Fruits'].apply(lambda(x): x[0] if (type(x) == 'list') else x) 
Run Code Online (Sandbox Code Playgroud)

如果我使用上面的内容,该列保持不变。我猜这一定是 lambda 函数中的条件语句有问题......

我也很感兴趣是否有更好的方法在 Pandas 中实现这一目标。

python lambda pandas

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

Spyder IDE - 取消打开大变量而不重新启动整个程序

我正在 Spyder 中处理大型 Pandas 数据框。有时,我不小心单击“变量资源管理器”窗口中的大数据框,Spyder 在尝试打开时会长时间挂起。

我发现停止此过程的唯一方法是完全关闭 Spyder,然后重新打开。

是否有可能:

  1. 取消查看变量的请求而不关闭程序?
  2. 设置默认值,以便 Spyder 将仅显示非常大对象(例如数据框)的前 1000 行?

python-3.x spyder

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

为JModelica设置Jupyter Notebook

我想使用Jupyter Notebook编辑JModelica python脚本;但是,安装后,Jupyter笔记本无法找到密钥库,例如pymodelica。

这是我为JModelica 2.1版安装Jupyter Notebook的过程:

  1. 在IPython终端中: !pip install jupyter

  2. 在Windows CMD中,我使用 cd C:\JModelica.org-2.1\Python27\Scripts

  3. 然后我打开使用 jupyter notebook

  4. 在笔记本中,我创建一个Python 2文件并尝试导入pymodelica库,然后执行以下操作:

()中的ImportError Traceback(最近一次通话最后一次)----> 1 import pymodelica

ImportError:没有名为pymodelica的模块

大概Jupyter Notebook是从JModelica安装的Python Kernal运行的,在这种情况下,Jupyter Notebook为什么无法找到pymodelica库?为了让Jupyter加载这些库,是否需要更改任何设置?

modelica jmodelica jupyter-notebook

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

R - 使用Pheatmap时的图例标题或单位

我正在使用pheatmap创建值的热图,并希望使用矩阵中z值的单位标注图例.在这个例子中,我希望图例的顶部说温度[°C].我已经阅读了pheatmap 的指南,似乎图例的唯一操作是添加一个默认数字列表来代替比例.我看不到任何添加图例标题的选项.

以下是使用pheatmap生成矩阵和绘图的通用代码块.我非常感谢有关如何为图例添加标题的任何建议.

test <- matrix(rexp(200, rate=.1), ncol=20)
colnames(test) = paste("Room", 1:20, sep = "")
rownames(test) = paste("Building", 1:10, sep = "")

pheatmap(test, legend = TRUE, cluster_rows = FALSE, cluster_cols = FALSE)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

r heatmap pheatmap

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

matplotlib直方图矩阵,使用Pandas,多个类别叠加

我正在尝试结合两种方法来创建直方图。

#Sample Data

df = pd.DataFrame({'V1':[1,2,3,4,5,6], 
         'V2': [43,35,6,7,31,34], 
         'V3': [23,75,67,23,56,32],
         'V4': [23,45,67,63,56,32],
        'V5': [23,5,67,23,6,2],
        'V6': [23,78,67,76,56,2],
        'V7': [23,45,67,53,56,32],
        'V8': [5,5,5,5,5,5],
        'cat': ["A","B","C","A","B","B"],})
Run Code Online (Sandbox Code Playgroud)

我可以使用此代码为每个类别创建一个直方图矩阵。

 #1. Creating histogram matrix for each category 

for i in df['cat'].unique():
    fig, ax = plt.subplots()
    df[df['cat']==i].hist(figsize=(20,20),ax =ax)
    fig.suptitle(i + " Feature-Class Relationships", fontsize = 20)
    fig.savefig('Histogram Matrix.png' %(i), dpi = 240)
Run Code Online (Sandbox Code Playgroud)

这将为每个类别创建一个单独的直方图矩阵。然而,我希望将类别叠加在同一矩阵上。

我可以使用这种方法创建重叠直方图:

#2. Overlaid histrogram for single variable

fig, ax = plt.subplots()
for i in df['cat'].unique():
    df[df['cat']==i]['V8'].hist(figsize=(12,8),ax =ax, alpha = 0.5, label = i)
ax.legend()
plt.show() …
Run Code Online (Sandbox Code Playgroud)

python matplotlib histogram pandas

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