小编tmt*_*prt的帖子

如何返回排序列表的索引?

我需要对列表进行排序,然后返回一个列表,其中包含列表中已排序项的索引.例如,如果我要排序的列表是[2,3,1,4,5],我需要[2,0,1,3,4]返回.

这个问题是在字节上发布的,但我想我会在这里重新发布. http://bytes.com/topic/python/answers/44513-sorting-list-then-return-index-sorted-item

我特别需要根据对象的属性对对象列表进行排序.然后,我需要重新排序相应的列表以匹配新排序列表的顺序.

有没有办法做到这一点?

python

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

如何在python中删除特定的警告消息,同时保持所有其他警告正常?

我在python脚本中隐藏了一些简单的数学,并得到以下警告:

"警告:划分为零除以".

为了提供一些背景,我拿着两个值,并试图找到价值的百分比差值(a - b) / a,如果它超过一定的范围内,那么对其进行处理,但有时值ab为零.

我想摆脱这个特定的警告(在一个特定的行),但到目前为止我找到的所有信息似乎告诉我如何停止所有警告(我不想要).

当我以前编写shell脚本时,我可以做这样的事情

code...
more code 2 > error.txt
even more code  
Run Code Online (Sandbox Code Playgroud)

在那个例子中,我会得到'代码'和'甚至更多代码'命令的警告,但不是第二行.

这可能吗?

python

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

Pandas合并两个具有不同列的数据帧

我肯定在这里遗漏了一些简单的东西.尝试在大多数具有相同列名的pandas中合并两个数据帧,但右侧数据框有一些左侧没有的列,反之亦然.

>df_may

  id  quantity  attr_1  attr_2
0  1        20       0       1
1  2        23       1       1
2  3        19       1       1
3  4        19       0       0

>df_jun

  id  quantity  attr_1  attr_3
0  5         8       1       0
1  6        13       0       1
2  7        20       1       1
3  8        25       1       1
Run Code Online (Sandbox Code Playgroud)

我尝试加入外连接:

mayjundf = pd.DataFrame.merge(df_may, df_jun, how="outer")
Run Code Online (Sandbox Code Playgroud)

但那会产生:

Left data columns not unique: Index([....
Run Code Online (Sandbox Code Playgroud)

我还指定了一个要加入的列(on ="id",例如),但是复制除"id"之外的所有列,如attr_1_x,attr_1_y,这是不理想的.我还将整个列列表(有很多)传递给"on":

mayjundf = pd.DataFrame.merge(df_may, df_jun, how="outer", on=list(df_may.columns.values))
Run Code Online (Sandbox Code Playgroud)

产量:

ValueError: Buffer has wrong number of dimensions …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas data-munging

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

设置pandas中现有数据框的多索引

我有一个DataFrame看起来像

  Emp1    Empl2           date       Company
0    0        0     2012-05-01         apple
1    0        1     2012-05-29         apple
2    0        1     2013-05-02         apple
3    0        1     2013-11-22         apple
18   1        0     2011-09-09        google
19   1        0     2012-02-02        google
20   1        0     2012-11-26        google
21   1        0     2013-05-11        google
Run Code Online (Sandbox Code Playgroud)

我想通过公司和日期设置MultiIndex为这个DataFrame.目前它有一个默认索引.我在用df.set_index(['Company', 'date'], inplace=True)

df = pd.DataFrame()
for c in company_list:
        row = pd.DataFrame([dict(company = '%s' %s, date = datetime.date(2012, 05, 01))])
        df = df.append(row, ignore_index = True)
        for …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

scipy.stats中的所有发行版都是什么样的?

可视化scipy.stats分布

直方图可制成scipy.stats正常随机变量看到分布的样子.

% matplotlib inline
import pandas as pd
import scipy.stats as stats
d = stats.norm()
rv = d.rvs(100000)
pd.Series(rv).hist(bins=32, normed=True)
Run Code Online (Sandbox Code Playgroud)

正态分布

其他发行版是什么样的?

python statistics distribution matplotlib scipy

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

pandas dataframe与一系列相乘

将Pandas DataFrame的所有列乘以存储在Series?中的列向量的最佳方法是什么?我以前在Matlab中这样做repmat(),在Pandas中不存在.我可以使用np.tile(),但每次来回转换数据结构看起来很难看.

谢谢.

multiplying dataframe pandas

32
推荐指数
3
解决办法
3万
查看次数

Python:支持索引的内存对象数据库?

我正在做一些数据修改,如果我可以在内存数据库中粘贴一堆字典,然后对它进行简单的查询,那将会更加简单.

例如,类似于:

people = db([
    {"name": "Joe", "age": 16},
    {"name": "Jane", "favourite_color": "red"},
])
over_16 = db.filter(age__gt=16)
with_favorite_colors = db.filter(favorite_color__exists=True)
Run Code Online (Sandbox Code Playgroud)

但有三个混淆因素:

  • 一些值将是Python对象,并且序列化它们是不可能的(太慢,破坏身份).当然,我可以解决这个问题(例如,将所有项目存储在一个大的列表中,然后在列表中序列化它们的索引......但这可能需要花费一些时间).
  • 将有数千个数据,我将针对它们运行查找繁重的操作(如图遍历),因此必须能够执行高效(即索引)查询.
  • 如在示例中,数据是非结构化的,因此要求我预定义模式的系统将是棘手的.

那么,这样的事情存在吗?或者我需要一起解决问题吗?

python database data-munging

26
推荐指数
3
解决办法
2万
查看次数

为什么 mypy 发现我的任何导入“没有类型提示或库存根”?

我正在开发一个代码库,其中有很多由以前的开发人员编写的类型提示。在某些时候,我注意到这些提示没有进行类型检查,如果我想检查它们,我需要在构建中添加一个步骤。我对 python 很熟悉,但从未使用过类型提示,所以我读了很多关于它们的文章,但我仍然有很多东西需要理解。最终我得出结论,mypy 是用于对这些类型提示进行类型检查的主程序。所以我 pip 安装了 mypy 并运行mypy .。我遇到了很多这样的错误;

error: Skipping analyzing 'setuptools': found module but no type hints or library stubs
error: Skipping analyzing 'numpy': found module but no type hints or library stubs
error: Skipping analyzing 'tensorflow.compat.v1': found module but no type hints or library stubs
error: Skipping analyzing 'tensorflow': found module but no type hints or library stubs
Run Code Online (Sandbox Code Playgroud)

我很惊讶这些默认情况下被视为错误,因为我读到的有关类型提示的所有内容都强调它们是可选的。所以我的第一个问题是,为什么 mypy 将上述内容视为显示停止错误而不是简单的警告?

然后我用谷歌搜索错误消息并找到mypy 文档的此页面。这可以说是非常清楚的,但令我困惑的是,它似乎表明这个错误是一个应该解决的大问题。它提供了多个选项来解决它,增加工作量,然后它们最终告诉您 CLI 标志将消除所有错误。当然,大多数项目都会导入不使用类型提示的库,并且需要使用此标志?

由于这些线索,我决定我应该继续尝试,寻找包裹。接下来让我困惑的是,它似乎无法找到我所有导入的类型提示。我不希望更多晦涩的库有书面类型提示,但肯定有人为 numpy 或 pytest 编写了它们?types- …

python type-hinting mypy

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

检测数据帧是否具有MultiIndex

我正在构建一个新的方法来解析一个DataFrame与Vincent兼容的格式.这需要一个标准Index(文森特不能解析MultiIndex).

有没有办法检测熊猫DataFrame是否有MultiIndex

In: type(frame)
Out: pandas.core.index.MultiIndex
Run Code Online (Sandbox Code Playgroud)

我试过了:

In: if type(result.index) is 'pandas.core.index.MultiIndex':
        print True
    else:
        print False
Out: False
Run Code Online (Sandbox Code Playgroud)

如果我尝试没有引用,我得到:

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

任何帮助赞赏.

(一旦我有了MultiIndex,我就会重置索引并将两列合并为表示阶段的单个字符串值.)

python pandas

12
推荐指数
3
解决办法
6573
查看次数

如何将我的pandas数据帧移动到d3?

我是Python的新手,并且已经通过几本书来解决它.除了可视化之外,一切都很棒.我真的不喜欢matplotlib和Bokeh需要太重的堆栈.

我想要的工作流程是:

使用ipython笔记本中的pandas进行数据分析 - >使用sublimetext2中的d3进行可视化

但是,作为Python和d3的新手,我不知道将我的pandas数据框导出到d3的最佳方法.我应该把它作为csv吗?JSON?还是有更直接的方式?

附带问题:是否有任何(合理的)方法在ipython笔记本中执行所有操作而不是切换到sublimetext?

任何帮助,将不胜感激.

ipython pandas d3.js data-munging

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