www.91084.com

GVKun编程网logo

简短的python列表之前的惯用语法是什么?(python 列表用法)

16

对于想了解简短的python列表之前的惯用语法是什么?的读者,本文将提供新的信息,我们将详细介绍python列表用法,并且为您提供关于python–在pandas中使用布尔数组索引对象的最惯用的方法是

对于想了解简短的python列表之前的惯用语法是什么?的读者,本文将提供新的信息,我们将详细介绍python 列表用法,并且为您提供关于python – 在pandas中使用布尔数组索引对象的最惯用的方法是什么?、Python-迭代访问列表的最“ pythonic”方法是什么?、Python中的PCA算法是什么?、python中的“容器”到底是什么?(以及所有的python容器类型是什么?)的有价值信息。

本文目录一览:

简短的python列表之前的惯用语法是什么?(python 列表用法)

简短的python列表之前的惯用语法是什么?(python 列表用法)

list.append()是添加到列表末尾的明显选择。这是有关失踪人员的合理解释list.prepend()。假设我的清单很短并且对性能的关注可以忽略不计,

list.insert(0,x)

要么

list[0:0] = [x]

惯用的?

python – 在pandas中使用布尔数组索引对象的最惯用的方法是什么?

python – 在pandas中使用布尔数组索引对象的最惯用的方法是什么?

我特别在谈论Pandas版本0.11,因为我正忙着用.loc或.iloc替换我对.ix的使用.我喜欢这样一个事实,即区分.loc和.iloc会告诉我是打算按标签还是整数位置进行索引.我看到任何一个人都会接受一个布尔数组,但我想保持他们的使用纯粹,以清楚地传达我的意图.

最佳答案
在11.0中,所有三种方法都有效,suggested in the docs的方式就是使用df [mask].然而,这不是在位置上完成的,而是纯粹使用标签,所以在我看来loc最能描述实际发生的事情.

更新:我在github上询问过这个问题,结论是df.iloc [msk]会在pandas 11.1中给出NotImplementedError(如果是整数索引掩码)或ValueError(如果是非整数索引).

In [1]: df = pd.DataFrame(range(5),list('ABCDE'),columns=['a'])

In [2]: mask = (df.a%2 == 0)

In [3]: mask
Out[3]:
A     True
B    False
C     True
D    False
E     True
Name: a,dtype: bool

In [4]: df[mask]
Out[4]:
   a
A  0
C  2
E  4

In [5]: df.loc[mask]
Out[5]:
   a
A  0
C  2
E  4

In [6]: df.iloc[mask]  # Due to this question,this will give a ValueError (in 11.1)
Out[6]:
   a
A  0
C  2
E  4

也许值得注意的是,如果你给了掩码整数索引,它会抛出一个错误:

mask.index = range(5)
df.iloc[mask]  # or any of the others
IndexingError: Unalignable boolean Series key provided

这表明iloc实际上没有实现,它使用label,因此当我们尝试这个时,11.1会抛出NotImplementedError.

Python-迭代访问列表的最“ pythonic”方法是什么?

Python-迭代访问列表的最“ pythonic”方法是什么?

我有一个Python脚本,该脚本接受一个整数列表作为输入,我需要一次处理四个整数。不幸的是,我无法控制输入,或者将其作为四元素元组的列表传递。目前,我正在以这种方式对其进行迭代:

for i in xrange(0, len(ints), 4):    # dummy op for example code    foo += ints[i] * ints[i + 1] + ints[i + 2] * ints[i + 3]

不过,这看起来很像“C-think”,这让我怀疑有一种更像蟒蛇的方式来处理这种情况。列表在迭代后被丢弃,因此不需要保留它。也许这样更好?

while ints:    foo += ints[0] * ints[1] + ints[2] * ints[3]    ints[0:4] = []

不过,仍然感觉不太正确。

答案1

小编典典

从Python的itertools文档的recipes部分修改:

from itertools import zip_longestdef grouper(iterable, n, fillvalue=None):    args = [iter(iterable)] * n    return zip_longest(*args, fillvalue=fillvalue)

示例
用伪代码保持示例简洁。

grouper(''ABCDEFG'', 3, ''x'') --> ''ABC'' ''DEF'' ''Gxx''

注意:在Python 2上,请使用izip_longest代替zip_longest。

Python中的PCA算法是什么?

Python中的PCA算法是什么?

pca(principal component analysis)即主成分分析,在机器学习和数据分析中是一种用于降维处理的算法,常被用于对高维数据压缩和可视化。在python中,我们可以使用scikit-learn库来实现pca算法。

一、PCA的原理

PCA算法的核心思想是降维,即将高维数据转化为低维数据,以便更容易地进行数据分析和可视化。PCA算法通过线性变换的方式将高维数据映射到低维空间,最终实现降维的目的。

具体来说,在PCA算法中,我们首先需要确定一个方差最大的方向,即“第一主成分”。然后,我们要寻找第二个方差最大的方向,也就是与第一主成分正交的方向。这个方向就是“第二主成分”。以此类推,我们可以找到K个主成分来构建新的坐标系,将原始数据映射到这个新的低维坐标系中,最终获得降维后的数据。

二、scikit-learn中的PCA算法实现

立即学习“Python免费学习笔记(深入)”;

在Python中,我们可以使用scikit-learn的PCA库来实现PCA算法。

(1)导入PCA库

from sklearn.decomposition import PCA

(2)准备数据

在使用PCA算法之前,我们需要先准备数据。假设我们有一组包含1000个样本的数据,每个样本都有20个特征,即20维数据。那么我们可以将这组数据表示为一个1000 x 20的矩阵X。

(3)创建PCA对象

我们可以创建一个PCA对象,并设定需要降到的维度数。这里我们将维度数设为2。

pca = PCA(n_components=2)

(4)拟合数据

我们可以使用fit()方法将数据投影到主成分空间中,并得到新的低维数据。

newX = pca.fit_transform(X)

(5)可视化降维后的数据

最后,我们可以使用matplotlib库来可视化降维后的数据。

import matplotlib.pyplot as plt

plt.scatter(newX[:,0], newX[:,1])
plt.show()

三、PCA算法的应用场景

PCA算法常被应用于以下场景:

(1)图像处理:将高维的图像数据压缩到低维空间中,可以有效地节省存储空间和计算资源。

(2)数据降维:当数据维度很高时,无论是在计算还是可视化方面都会带来困难。通过PCA算法,我们可以将高维数据降维到一个可以处理的范围内。

(3)特征提取:在机器学习中,特征提取是模型训练的重要一步。通过PCA算法,我们可以从原始数据中提取最重要的特征,以便更好地构建模型。

四、总结

PCA算法是一种常用的降维算法,在机器学习和数据分析中得到广泛的应用。Python中的scikit-learn库提供了简便的PCA算法实现方法,使得PCA算法更加易于应用。希望本文对你了解PCA算法有所帮助。

以上就是Python中的PCA算法是什么?的详细内容,更多请关注php中文网其它相关文章!

python中的“容器”到底是什么?(以及所有的python容器类型是什么?)

python中的“容器”到底是什么?(以及所有的python容器类型是什么?)

python文档经常提到“容器”。例如:

如果check_circular为False(默认值:True),则将跳过对 容器类型
的循环引用检查,并且循环引用将导致OverflowError(或更糟)。

但是我找不到容器的任何正式定义,也没有它们的列表。

编辑

对于Python 2.7.3:

检查的内置类型是容器:

isinstance(object,collections.Container)返回True

  1. 具有__contains__定义的方法的容器:

    • 所有内置序列类型:列表,字节数组,字符串,unicode字符串和元组。
    • 辞典
    • 所有内置集类型:集和冻结集
    • 没有__contains__定义方法的容器:

    • xrange对象

检查的不是容器的内置类型:

isinstance(object,collections.Container)返回False):

  • 整数对象
  • 漂浮物
  • 长物
  • 布尔对象
  • 模块对象
  • 文件对象
  • 缓冲对象
  • 无对象

告诉我您还检查了哪些其他内置类型isinstance(object,collections.Container) ,我将它们添加到列表中。

今天关于简短的python列表之前的惯用语法是什么?python 列表用法的讲解已经结束,谢谢您的阅读,如果想了解更多关于python – 在pandas中使用布尔数组索引对象的最惯用的方法是什么?、Python-迭代访问列表的最“ pythonic”方法是什么?、Python中的PCA算法是什么?、python中的“容器”到底是什么?(以及所有的python容器类型是什么?)的相关知识,请在本站搜索。

本文标签: