相关疑难解决方法(0)

熊猫合并101

  • 如何用pandas 执行(LEFT| RIGHT| FULL)(INNER| OUTER)连接?
  • 合并后如何为缺失的行添加NaN?
  • 合并后如何摆脱NaN?
  • 我可以合并索引吗?
  • 如何合并多个DataFrame?
  • mergejoinconcatupdate?谁?什么?为什么?!

... 和更多.我已经看到了这些反复出现的问题,询问了pandas合并功能的各个方面.今天关于合并及其各种用例的大部分信息在几十个措辞严厉,不可搜索的帖子中都是分散的.这里的目的是为后代整理一些更重要的观点.

这个QnA应该是关于常见熊猫习语的一系列有用的用户指南的下一部分(参见关于转动的这篇文章,以及关于连接的这篇文章,我将在稍后介绍).

请注意,这篇文章并不是文档的替代品,所以请阅读它!一些例子来自那里.

python merge join pandas

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

Pandas Dataframe/Numpy Array"轴"定义中的歧义

关于如何定义python轴以及它们是否引用DataFrame的行或列,我一直很困惑.请考虑以下代码:

>>> df = pd.DataFrame([[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]], columns=["col1", "col2", "col3", "col4"])
>>> df
   col1  col2  col3  col4
0     1     1     1     1
1     2     2     2     2
2     3     3     3     3
Run Code Online (Sandbox Code Playgroud)

因此,如果我们打电话df.mean(axis=1),我们将获得跨行的平均值:

>>> df.mean(axis=1)
0    1
1    2
2    3
Run Code Online (Sandbox Code Playgroud)

但是,如果我们调用df.drop(name, axis=1),我们实际上会删除一列而不是一行:

>>> df.drop("col4", axis=1)
   col1  col2  col3
0     1     1     1
1     2     2     2
2     3     3     3
Run Code Online (Sandbox Code Playgroud)

有人能帮助我理解pandas/numpy/scipy中"轴"的含义吗?

旁注,DataFrame.mean可能被定义错了.它在文档中说, …

python arrays numpy dataframe pandas

81
推荐指数
4
解决办法
2万
查看次数

在Python NumPy中,什么是维度和轴?

我正在使用Pythons NumPy模块进行编码.如果将3D空间中的点的坐标描述为[1, 2, 1],则不是三维,三轴,三等级?或者,如果这是一个维度,那么它不应该是点(复数),而不是点?

这是文档:

在Numpy中,尺寸称为轴.轴数是等级.例如,3D空间[1,2,1]中的点的坐标是等级1的数组,因为它具有一个轴.该轴的长度为3.

资料来源:http://wiki.scipy.org/Tentative_NumPy_Tutorial

python numpy

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

根据Pandas中的列名删除多个列

我有一些数据,当我导入它时,我得到以下不需要的列我正在寻找一种简单的方法来删除所有这些

   'Unnamed: 24', 'Unnamed: 25', 'Unnamed: 26', 'Unnamed: 27',
   'Unnamed: 28', 'Unnamed: 29', 'Unnamed: 30', 'Unnamed: 31',
   'Unnamed: 32', 'Unnamed: 33', 'Unnamed: 34', 'Unnamed: 35',
   'Unnamed: 36', 'Unnamed: 37', 'Unnamed: 38', 'Unnamed: 39',
   'Unnamed: 40', 'Unnamed: 41', 'Unnamed: 42', 'Unnamed: 43',
   'Unnamed: 44', 'Unnamed: 45', 'Unnamed: 46', 'Unnamed: 47',
   'Unnamed: 48', 'Unnamed: 49', 'Unnamed: 50', 'Unnamed: 51',
   'Unnamed: 52', 'Unnamed: 53', 'Unnamed: 54', 'Unnamed: 55',
   'Unnamed: 56', 'Unnamed: 57', 'Unnamed: 58', 'Unnamed: 59',
   'Unnamed: 60'
Run Code Online (Sandbox Code Playgroud)

它们被0索引编入索引,所以我尝试了类似的东西

    df.drop(df.columns[[22, 23, 24, 25, …
Run Code Online (Sandbox Code Playgroud)

python pandas

68
推荐指数
8
解决办法
14万
查看次数

如何在numpy的数组中索引轴?

Numpy的教程中,轴可以用整数编制索引,就像0用于列,1用于行,但我不明白为什么它们以这种方式编入索引?在处理多维数组时,如何计算每个轴的索引?

python numpy

63
推荐指数
4
解决办法
5万
查看次数

NumPy的轴参数如何工作?

有人能解释axisNumPy中的参数究竟是什么吗?

我非常困惑.

我正在尝试使用该功能 myArray.sum(axis=num)

起初我认为如果数组本身是3维,axis=0将返回三个元素,由同一位置中所有嵌套项的总和组成.如果每个维度包含五个维度,我希望axis=1返回五个项目的结果,依此类推.

然而事实并非如此,文档并没有很好地帮助我(他们使用3x3x3阵列,因此很难说出发生了什么)

这是我做的:

>>> e
array([[[1, 0],
        [0, 0]],

       [[1, 1],
        [1, 0]],

       [[1, 0],
        [0, 1]]])
>>> e.sum(axis = 0)
array([[3, 1],
       [1, 1]])
>>> e.sum(axis=1)
array([[1, 0],
       [2, 1],
       [1, 1]])
>>> e.sum(axis=2)
array([[1, 0],
       [2, 1],
       [1, 1]])
>>>
Run Code Online (Sandbox Code Playgroud)

显然,结果并不直观.

python arrays numpy multidimensional-array numpy-ndarray

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

Pandas DataFrame中"axis"属性的含义是什么?

以下面的例子为例:

>>> df1 = pd.DataFrame({"x":[1, 2, 3, 4, 5], 
                        "y":[3, 4, 5, 6, 7]}, 
                      index=['a', 'b', 'c', 'd', 'e'])

>>> df2 = pd.DataFrame({"y":[1, 3, 5, 7, 9], 
                        "z":[9, 8, 7, 6, 5]}, 
                      index=['b', 'c', 'd', 'e', 'f'])

>>> pd.concat([df1, df2], join='inner')
Run Code Online (Sandbox Code Playgroud)

输出是:

   y
a  3
b  4
c  5
d  6
e  7
b  1
c  3
d  5
e  7
f  9
Run Code Online (Sandbox Code Playgroud)

由于axis=0是列,我认为concat()只考虑在两个数据帧中找到的.但是,实际输出会考虑在两个数据帧中找到的.

axis参数的确切含义是什么?

python axis dataframe pandas

20
推荐指数
4
解决办法
4万
查看次数

在TensorFlow中,函数'tf.one_hot'中的'axis'参数是什么?

任何人都可以有帮助的是什么的解释axisTensorFlowone_hot功能?

根据文件:

axis:要填充的轴(默认值:-1,新的最内轴)

最近我得到的关于SO的答案熊猫有关的解释:

不确定上下文是否同样适用.

machine-learning multidimensional-array python-3.x tensorflow one-hot-encoding

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

为什么 pandas.DataFrame.sum(axis=0) 返回每列中的值的总和,其中 axis =0 代表行?

在pandas中,axis=0代表行axis=1代表列。因此,要获取 pandas 中每行值的总和,请调用 df.sum(axis=0) 。但它返回每列中的值的总和,反之亦然。为什么???

import pandas as pd
df=pd.DataFrame({"x":[1,2,3,4,5],"y":[2,4,6,8,10]})
df.sum(axis=0)
Run Code Online (Sandbox Code Playgroud)

数据框:

   x   y
0  1   2

1  2   4

2  3   6

3  4   8

4  5  10
Run Code Online (Sandbox Code Playgroud)

输出:

x    15

y    30
Run Code Online (Sandbox Code Playgroud)

预期输出:

0     3

1     6

2     9

3    12

4    15
Run Code Online (Sandbox Code Playgroud)

python data-analysis pandas data-science

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

如何选择包含大于阈值的值的所有行?

请求很简单:我想选择包含大于阈值的值的所有行.

如果我这样做:

df[(df > threshold)]
Run Code Online (Sandbox Code Playgroud)

我得到这些行,但低于该阈值的值很简单NaN.如何避免选择这些行?

python dataframe pandas

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