小编Gio*_*Gio的帖子

pip 如何使用前导破折号删除错误安装的软件包:“-pkgname”

键入时,pip freeze我注意到列表顶部有以下警告:

警告:无法解析要求:-atplotlib

因此,我使用pip list 以下方法检查了已安装的软件包:而且,确实以下内容被认为是一个软件包:

    Package         Version
    --------------- -------
    -atplotlib      3.0.3
Run Code Online (Sandbox Code Playgroud)

我想我在安装/升级 matplotlib 时可能有一个错字,这导致安装了上述“包”。

不幸的是,我无法在输入时将其删除

pip uninstall -atplotlib
Run Code Online (Sandbox Code Playgroud)

被读取为命令并返回以下错误:no such option: -a. 关于如何进行的任何建议?

编辑

我找到了以下文件夹:

C:\Users\name\Anaconda3\Lib\site-packages\~atplotlib

C:\Users\name\Anaconda3\Lib\site-packages\~atplotlib-3.0.3-py3.7.egg-info

移除它们是否安全(且足够)?

python pip

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

带有多个时间序列的PCA作为sklearn的一个实例的特征

我想在一个具有20个时间序列作为一个实例的特征的数据集上应用PCA。我有大约1000个此类实例,我正在寻找一种降低维数的方法。对于每个实例,我都有一个熊猫数据框,例如:

import pandas as pd
import numpy as np
df = pd.DataFrame(data=np.random.normal(0, 1, (300, 20)))
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以sklearn.fit所有实例上使用,每个实例都有一组时间序列作为特征空间。我的意思是我可以将sklearn.fit分别应用于所有实例,但是我希望所有实例都具有相同的主要组成部分。

有办法吗?到目前为止,我唯一不满意的想法是将一个实例的所有那些序列附加到一个实例上,这样我就有一个实例的时间序列。

python time-series pca scikit-learn

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

列出元素的计数器

这里是Python的新手。

我正在寻找一种创建列表(输出)的简单方法,该方法在保留索引(?)的同时返回另一个目标列表(MyList)的元素计数。

这就是我想要得到的:

MyList = ["a", "b", "c", "c", "a", "c"]
Output = [ 2 ,  1 ,  3 ,  3 ,  2 ,  3 ]
Run Code Online (Sandbox Code Playgroud)

我找到了解决类似问题的方法。计算列表中每个元素的出现次数。

In  : Counter(MyList)
Out : Counter({'a': 2, 'b': 1, 'c': 3})
Run Code Online (Sandbox Code Playgroud)

但是,这将返回一个不保留索引的Counter对象。

我假设给定了计数器中的键,我可以构造所需的输出,但是我不确定如何进行操作。

额外的信息,我在脚本中导入了熊猫,而MyList实际上是熊猫数据框中的一列。

python counter list python-3.x pandas

9
推荐指数
3
解决办法
150
查看次数

有没有办法在 seaborn 点图中设置透明度/alpha 级别?

我想制作一个具有透明度的 seaborn 点图,以便我可以清楚地看到位于不同颜色的其他点后面的点。

我尝试将“alpha=0.3”添加到对 pointplot 的调用中,并在带有 kind='point'; 的 catplot 中尝试了相同的操作。但是,这些都不会导致所需的透明度(也不会产生错误消息)。

sns.pointplot(x='aamm', y='posrate', hue='AA:XX', hue_order=[1,0], data=data, dodge=True, palette=palette, alpha=0.3)
Run Code Online (Sandbox Code Playgroud)

我希望得到一个带有透明点的图,但相反,我得到了一个带有普通不透明点的图。在分离不同颜色的重叠点方面,闪避选项似乎也没有产生任何明显的效果。

有没有办法为seaborn pointplot添加透明度或使用其他东西来获得类似的效果?

谢谢你。

python matplotlib seaborn

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

在MATLAB中使用repmat复制Kronecker张量

我试图仅使用repmat和reshape复制Kron产品,我相信我非常接近,但我无法完成最后一次正确的重塑.特别是我在重塑时遇到了问题A

为了简单起见,我们假设有

A=[1 3; 2 4]
B=[5 10; 10 5]
Run Code Online (Sandbox Code Playgroud)

所以我kron(A,B)将成为一个4x4矩阵.

kron=[5   10  15  30
      10  5   30  15
      10  20  20  40
      20  10  40  20]
Run Code Online (Sandbox Code Playgroud)

我正在这样做:

Y=repmat(B,2,2)
X=A(:);
X=repmat(X,1,2)';
X=X(:);
X=repmat(X,1,2);
Run Code Online (Sandbox Code Playgroud)

这给了我以下8x2矩阵:

X= [1 1
    1 1 
    2 2
    2 2
    3 3
    3 3
    4 4
    4 4]
Run Code Online (Sandbox Code Playgroud)

我不能弄清楚如何正确的重塑以获得我的4x4矩阵:

X=[1 1 3 3
   1 1 3 3
   2 2 4 4
   2 2 4 4]
Run Code Online (Sandbox Code Playgroud)

然后我将能够计算: X.*Y=kron(A,B)

matlab matrix reshape

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

紧密布局不能使轴高度小到足以容纳所有轴装饰

我不是第一次遇到这个问题,我通常的解决方法是明确定义图形大小并避免一直使用tight_layout(参见第二个代码示例)。
但是,我发现这个解决方案不切实际,我只想让图形根据其内容自动调整大小,同时考虑标签、轴刻度、轴标签等。

以下是我使用的示例tight_layout(只是模仿 qqplot)

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

#mock data
df = pd.DataFrame(np.random.randn(500, 200), columns=['var_0', 'var_1','var_2', 'var_3', 'var_4', 
   'var_5', 'var_6', 'var_7','var_8','var_9','var_10', 'var_11', 'var_12',
   'var_13', 'var_14', 'var_15','var_16','var_17', 'var_18','var_19',
   'var_20', 'var_21', 'var_22', 'var_23','var_24', 'var_25', 'var_26',
   'var_27', 'var_28', 'var_29', 'var_30', 'var_31', 'var_32', 'var_33',
   'var_34', 'var_35', 'var_36', 'var_37', 'var_38', 'var_39', 'var_40',
   'var_41', 'var_42', 'var_43', 'var_44', 'var_45', 'var_46', 'var_47',
   'var_48', 'var_49', 'var_50', 'var_51', 'var_52', 'var_53', 'var_54',
   'var_55', 'var_56', 'var_57', 'var_58', 'var_59', 'var_60', 'var_61', …
Run Code Online (Sandbox Code Playgroud)

python matplotlib autoresize

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

创建非标准 Pandas 频率(“dekads”= 每月 3 个周期)

由于statsmodels.tseries模型需要具有给定频率的索引来进行预测,因此我需要我的数据具有非标准频率。

\n

因此,我想创建一个新频率来分配给pandas.DateTimeIndex。\n这是dekad一年中有 36 个周期的频率。每个月三个。第一个总是在该月的 10 日,第二个是该月的 20 日,最后一个是该月的最后一天。

\n

困难在于该月的最后一天:

\n
    \n
  1. 2 月的日期有所不同,具体取决于是否是闰年(28 日或 29 日)
  2. \n
  3. 取决于该月的天数(28、29、30、31)
  4. \n
\n

然而,最终它是一个固定的频率(每月 3 次,每年 36 个周期)。

\n

原因是statsmodels.tsa.holtwinters模型需要具有给定频率的索引来进行预测。当我尝试运行holtwinters预测时,我收到以下警告消息:

\n
/home/tommy/miniconda3/envs/ml/lib/python3.8/site-packages/statsmodels/tsa/base/tsa_model.py:216: ValueWarning: A date index has been provided, but it has no associated frequency information and so will be ignored when e.g. forecasting.\n
Run Code Online (Sandbox Code Playgroud)\n

这就是十倍时间步长的样子:

\n
/home/tommy/miniconda3/envs/ml/lib/python3.8/site-packages/statsmodels/tsa/base/tsa_model.py:216: ValueWarning: A date index has been provided, but it has no associated frequency …
Run Code Online (Sandbox Code Playgroud)

python datetime time-series pandas statsmodels

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

有没有办法在 matplotlib 中标记多个 3d 表面?

我试图用线性约束解决非线性数学优化问题。为此,我试图在 3d 中可视化约束以了解正在发生的事情以及为什么我为约束中的某些参数而不是其他参数获得了可行的解决方案。

为了实现这一点,我想使用python 中的matplotlib来生成 3d 表面(平面,因为我的所有约束都是线性的)。

但是,如果没有图内标记,则很难确定哪个曲面属于哪个约束。这让我想寻找一种方法来在情节内添加带有颜色的图例。

我认识到已经有一种方法可以在 2D 中执行此操作,在方法中ax.plot()或 中ax.scatter(),但是尝试执行相同操作并不起作用ax.plot_surface(X, Y, Z, label = 'mylabel')

完整脚本如下:


from mpl_toolkits import mplot3d
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np


fig = plt.figure()
ax = plt.axes(projection='3d')

plt.rcParams['legend.fontsize'] = 10


# First constraint
g2 = np.linspace(-5,5,2)
g3 = np.linspace(-5,5,2)
G2,G3 = np.meshgrid(g2,g3)
G4_1 = -1.18301270189222 - 0.5*G2 + 0.5*G3
ax = fig.gca(projection='3d')
c1 = ax.plot_surface(G2, G3, G4_1, label = "c1") …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

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

在 Jupyter 中使用单元格魔法“%%time”的意外行为

我只是想将数据帧导入笔记本,运行以下单元格:

%%time
#df=pd.DataFrame()
#for chunk in pd.read_sql(qry,conn,chunksize=10**5):
#    df=pd.concat([df,chunk])
df=pd.read_csv(scriptdir+'\LocalSample\sample200k.txt', sep=";")
Run Code Online (Sandbox Code Playgroud)

虽然它没有返回任何错误,但在运行下一个命令时

df.head(20)
Run Code Online (Sandbox Code Playgroud)

我收到一个名称错误:

---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-8-e9cb96795106> in <module>
----> 1 df.head(20)

NameError: name 'df' is not defined
Run Code Online (Sandbox Code Playgroud)

移除%%time魔法解决了这个问题。这是一种已知的行为吗?有没有人对为什么会发生这种情况有任何解释?

python pandas jupyter-notebook

5
推荐指数
0
解决办法
64
查看次数

Git:是否可以重命名master?

是否可以master在git中重命名?
如果不可能,有没有办法获得类似的结果?例如,创建一个具有自定义名称的分支(比如batman),将该分支设为新的主分支并删除旧的主分支?

举个例子。这就是我现在所拥有的:

user@machine gitprojectpath (master)
$
Run Code Online (Sandbox Code Playgroud)

这就是我想要的

user@machine gitprojectpath (batman)
$
Run Code Online (Sandbox Code Playgroud)

git gitlab

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

Altair 使用 selenium chromedriver 自动保存图表

再次询问这个问题,因为之前的问题已经关闭,没有任何有用的解决方案。

我正在尝试循环生成一些图表并自动保存它们。

我正在 Windows 上工作,使用 Chrome。

我一直在关注有关如何在 svg 中保存图表的文档。

我下载了适合我的 Chrome 版本的 ChromeDriver。 gdf是我的地理数据框,一切顺利,我可以生成并手动保存图表。

另外,这个例子取自 chromium 文档:

import time
from selenium import webdriver

driver = webdriver.Chrome('pathtochromedriver/chromedriver_win32/chromedriver.exe')
driver.get('http://www.google.com/');
time.sleep(5) # Let the user actually see something!
search_box = driver.find_element_by_name('q')
search_box.send_keys('ChromeDriver')
search_box.submit()
time.sleep(5) # Let the user actually see something!
driver.quit()
Run Code Online (Sandbox Code Playgroud)

下面是我尝试运行的一段代码:

#Chromedriver for headless run and chart automatic save
from selenium import webdriver
from selenium.webdriver.chrome.options import Options 

chrome_options = Options()  
chrome_options.add_argument("--headless") 
####### None of the following work! …
Run Code Online (Sandbox Code Playgroud)

python selenium selenium-chromedriver selenium-webdriver altair

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

超过 2 个类的下采样

我正在创建一个简单的代码,当您的目标变量具有 2 个以上的类时,它允许对数据帧进行下采样。

df我们的任意数据集和'TARGET_VAR'一个具有 2 个以上类的分类变量。

import pandas as pd
label='TARGET_VAR' #define the target variable

num_class=df[label].value_counts() #creates list with the count of each class value
temp=pd.DataFrame() #create empty dataframe to be filled up

for cl in num_class.index: #loop through classes
    #iteratively downsample every class according to the smallest
    #class 'min(num_class)' and append it to the dataframe.
    temp=temp.append(df[df[label]==cl].sample(min(num_class)))

df=temp #redefine initial dataframe as the subsample one

del temp, num_class #delete temporary dataframe
Run Code Online (Sandbox Code Playgroud)

现在我想知道,有没有办法以更精致的方式做到这一点?例如,无需创建临时数据集?我试图找出一种方法来“矢量化”多个类的操作,但没有取得任何进展。下面是我的想法,可以很容易地为 2 个类实现,但我不知道如何将它扩展到多个类的情况。

如果您有 2 …

python downsampling pandas

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

按列有条件地为熊猫数据框着色

我现在正在使用 jupyter 笔记本,我正在寻找一种方法,根据其在列(或行)中的相对值,有条件地为熊猫数据框中的每个单元格着色。

最终输出应该是一个熊猫数据框。
从概念上讲,这就像创建一个热图,其中为每列独立定义阴影,并基于列本身的最大值和最小值。

我已经看过thisthis,但在两者中他们都创建了实际的绘图作为输出,而不是为数据帧单元格着色。

python pandas jupyter jupyter-notebook

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