我想使用 conda 安装一个包(python),但说在 repo.anaconda.com/....... 中不可用,我该如何安装它?
我尝试安装的特定包是edx-dl(github 存储库的链接)使用代码conda install edx-dl。此代码适用于pip但不适用于conda.
例如,在 pip 中,如果我pip install edx-dl在没有 anaconda 的情况下使用 python base 时键入能够安装包。但是现在使用 conda 它说它在 anaconda repo 中不可用。那么如果anaconda中没有的包,可以安装吗?
所以概括地说,有什么方法可以下载和安装condarepo.anaconda.com 中没有的 python 包?
请注意,我不使用基础 python,而是目前使用 anaconda。所以,不能pip用来安装那个包。
谢谢!
我收到的错误消息:
(基础) C:\WINDOWS\system32>conda install edx-dl
警告 conda.base.context:use_only_tar_bz2(632):Conda 被限制为只能使用旧的 .tar.bz2 文件格式,因为您安装了 conda-build,并且它是 <3.18.3。更新或删除 conda-build 以获得更小的下载和更快的提取。收集包元数据(repodata.json):完成解决环境:失败
PackagesNotFoundError:当前频道不提供以下软件包:
当前频道:
要搜索可能提供您正在寻找的 conda 包的备用频道,请导航到 …
import yfinance as yf
stock = yf.Ticker("ABEV3.SA")
data1= stock.info
print(data1)
Run Code Online (Sandbox Code Playgroud)
有“买入”和“卖出”,但没有实际股价。
seaborn ver. 0.10.1我在我的 jupyter 笔记本上运行。今天早上我升级到了最新版本0.11.0。现在,我的 kde jointplot 不再提供以前的颜色映射。代码是一样的。只是版本不同而已。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib notebook
np.random.seed(1234)
v1 = pd.Series(np.random.normal(0,10,1000), name='v1')
v2 = pd.Series(np.random.normal(60,15,1000), name='v2')
v3 = pd.Series(2*v1 + v2, name='v3')
# set the seaborn style for all the following plots
sns.set_style('white')
sns.jointplot(v1, v3, kind='kde', space=0);
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用此代码并排绘制两个分布图
fig,(ax1,ax2) = plt.subplots(1,2)
sns.displot(x =X_train['Age'], hue=y_train, ax=ax1)
sns.displot(x =X_train['Fare'], hue=y_train, ax=ax2)
Run Code Online (Sandbox Code Playgroud)
它返回以下结果(两个空的子图,后跟一个分布在两行上的图)-
如果我用 violinplot 尝试相同的代码,它会按预期返回结果
fig,(ax1,ax2) = plt.subplots(1,2)
sns.violinplot(y_train, X_train['Age'], ax=ax1)
sns.violinplot(y_train, X_train['Fare'], ax=ax2)
Run Code Online (Sandbox Code Playgroud)
为什么 displot 返回不同类型的输出,我该怎么做才能在同一行上输出两个图?
希望提高我的数据科学技能。我正在练习从体育网站拉取 url 数据,并且 json 文件有多个嵌套字典。我希望能够提取这些数据以在 matplotlib 等中映射我自己的排行榜的自定义形式,但是我很难将 json 转换为可行的 df。
主要网站为:https : //www.usopen.com/scoring.html
看看背景,我相信实时信息是从下面短代码中列出的链接中提取的。我正在使用 Jupyter 笔记本。我可以成功拉取数据。
但是正如您所看到的,它正在提取多个嵌套字典,这使得提取简单的数据帧变得非常困难。
只是想得到球员,比分达到标准杆,总分和回合拉。任何帮助将不胜感激,谢谢!
import pandas as pd
import urllib as ul
import json
url = "https://gripapi-static-pd.usopen.com/gripapi/leaderboard.json"
response = ul.request.urlopen(url)
data = json.loads(response.read())
print(data)
Run Code Online (Sandbox Code Playgroud) 我非常喜欢 python 中的类型提示,但是我很好奇是否有一种方法可以使用类型提示为给定参数指定有效的值范围。
我的想法是这样的
from typing import *
def function(
number: Union[float, int],
fraction: Float[0.0, 1.0] = 0.5 # give a hint that this should be between 0 and 1,
):
return fraction * number
Run Code Online (Sandbox Code Playgroud)
我可以想象可以通过断言强制执行此操作,或者指定文档字符串中值的有效范围,但感觉像 Float[0.0, 1.0] 这样的东西看起来会更优雅。
我有以下合成数据框,包括数字列 和分类列以及label列。我想绘制一个对角相关矩阵并在上部显示相关系数,如下所示:
预期输出:

尽管合成数据集/数据帧中的分类列df需要转换为数值,但到目前为止,我已经使用了这个使用数据集的seaborn示例'titanic',该数据集是合成的并且适合我的任务,但我添加了label列,如下所示:
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
sns.set_theme(style="white")
# Generate a large random dataset with synthetic nature (categorical + numerical)
data = sns.load_dataset("titanic")
df = pd.DataFrame(data=data)
# Generate label column randomly '0' or '1'
df['label'] = np.random.randint(0,2, size=len(df))
# Compute the correlation matrix
corr = df.corr()
# Generate a mask for the …Run Code Online (Sandbox Code Playgroud) 我已经导入:
%matplotlib inline
%config InlineBackend.fugure_format = 'retina'
import matplotlib.pyplot as plt
Run Code Online (Sandbox Code Playgroud)
以显示:
plt.plot(train_losses, label='Training loss')
plt.plot(test_losses, label='Test/Validation loss')
plt.legend(frameon=False)
Run Code Online (Sandbox Code Playgroud)

我已经尝试过plt.xlabel('X axis title')和plt.ylabel('Y axis title) 以及其他几个代码,但没有一个起作用。
我只是想标记 x、y 轴。
图形的边框/x 轴与 pyplot 条形图中的第一个和最后一个条形之间有很大的空间(第一张图片中的红色箭头)。在下图中,左图中看起来不错,但右图中浪费了很多空间。图形越大,空间就越大。
\n\n看看第二张图中浪费了多少空间:
\n\n知道如何解决这个问题吗?
\n代码:
\nplt.figure(figsize=figsize)\ngrid = plt.GridSpec(figsize[1], figsize[0], wspace=120/figsize[0])\nplt.suptitle(feature.upper())\n\n# NaN plot\nplt.subplot(grid[:, :2])\nplt.title(\'Pr\xc3\xa9sence\')\nplt.ylabel(\'occurences\')\nplt.bar([0, 1], [df.shape[0] - nan, nan], color=[\'#4caf50\', \'#f44336\'])\nplt.xticks([0, 1], [\'Renseign\xc3\xa9\', \'Absent\'], rotation=\'vertical\')\n\n# Distrib plot\nplt.subplot(grid[:, 2:])\nplt.title(\'Distribution\')\nx_pos = [i for i, _ in enumerate(sizes)]\nplt.bar(x_pos, sizes)\nplt.xticks(x_pos, labels, rotation=\'vertical\')\nplt.show()\nRun Code Online (Sandbox Code Playgroud)\ndf是我的 pandas DataFrame,nan我正在绘制的特征的空值数量,sizes是每个值出现的次数,labels是相应标签的值。
我无法在 Seaborn/Matplotlib 中旋转我的 xlabel。我尝试了很多不同的解决方案,但无法修复它。我在 stackoverflow 上看到了很多相关问题,但它们对我不起作用。
我当前的绘图如下所示,但我希望 xlabel 旋转 90 度。
@staticmethod
def plotPrestasjon(plot):
sns.set(style="darkgrid")
ax = sns.catplot(x="COURSE", y="FINISH", hue="COURSE",
col="BIB#", data=plot, s=9, palette="Set2")
ax.set(xlabel='COURSES', ylabel='FINISH (sec)')
plt.show()
Run Code Online (Sandbox Code Playgroud)
我努力了:
ax.set_xticklabels(ax.get_xticklabels(), rotation=90)
Run Code Online (Sandbox Code Playgroud)
但这无法生成情节。我有什么想法可以解决它吗?
python ×9
matplotlib ×4
seaborn ×4
python-3.x ×2
anaconda ×1
axis-labels ×1
bar-chart ×1
catplot ×1
conda ×1
facet-grid ×1
heatmap ×1
json ×1
pandas ×1
pip ×1
r ×1
rpy2 ×1
subplot ×1
type-hinting ×1
yfinance ×1