小编use*_*733的帖子

如何使用条件索引获取单元格上的标量值

我有如下所示的数据框.我需要获取B列的标量值,这取决于A的值(这是我脚本中的变量).我正在尝试loc()函数,但它返回一个Series而不是标量值.如何获得标量值()?

>>> x = pd.DataFrame({'A' : [0,1,2], 'B' : [4,5,6]})
>>> x
   A  B
0  0  4
1  1  5
2  2  6

>>> x.loc[x['A'] == 2]['B']
2    6
Name: B, dtype: int64

>>> type(x.loc[x['A'] == 2]['B'])
<class 'pandas.core.series.Series'>
Run Code Online (Sandbox Code Playgroud)

python pandas

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

如何判断Linux机器是否支持AVX/AVX2指令?

我在SUSE Linux Enterprise 10/11计算机上.我将回归发送到运行英特尔处理器的计算机的农场.我的一些测试失败是因为我的工具是使用需要AVX/AVX2指令支持的库构建的.我收到一个Illegal exception错误.

在Linux中,是否有任何命令可用于确定什么是CPU代码/系列名称?

我相信AVX和AVX2分别可以从Intel SandyBridge和Haswell系列开始.

unix linux suse avx avx2

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

使用'auto'和std :: minmax观察奇怪的行为

我在SUSE Enterprise Linux 11上使用GCC 4.7.2和Boost 1.58.0.我有以下代码片段,它基本上通过一个多边形列表来计算它们的长度/宽度.当使用带有std :: minmax函数的'auto'关键字时,我看到了奇怪的输出.为了比较,我还声明了第二个变量,其中明确声明了类型(即dim vs dim1).

namespace gtl = boost::polygon;
typedef gtl::polygon_90_data<int> LayoutPolygon;
typedef gtl::rectangle_data<int> LayoutRectangle;
static LayoutFeatureVec
calc_stats(LayoutPolygonSet const& lp)
{
   LayoutFeatureVec v;
   LayoutFeature f;
   LayoutRectangle y;
   for (LayoutPolygon const& p : lp) {
      // Compute bounds.
      gtl::extents(y, p);

      // Get width/length (shorter/longer).
      // FIXME: Why does this not work with auto??
      cout << gtl::delta(y, gtl::HORIZONTAL) << " " << gtl::delta(y, gtl::VERTICAL) << endl;

      auto dim = std::minmax(gtl::delta(y, gtl::HORIZONTAL),
                             gtl::delta(y, gtl::VERTICAL));

      std::pair<int, int> dim1 = …
Run Code Online (Sandbox Code Playgroud)

c++ auto c++11 boost-polygon

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

Graphviz与PyGraphViz

我有一些点文件(有向图)我需要在Python中读取并从节点中提取一些值来填充我的数据结构.我看到Python有两个graphviz包:graphvizpygraphviz.两者之间有什么大的区别吗?从文档的快速滚动,他们似乎做了同样的事情.我将在Python 2.7.X中使用它来完成上述任务.

python graphviz pygraphviz

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

C++:从container1中查找不在container2中的任何元素

我有std::set<int>(s)和std::vector<int>(v).保证向量是有序/唯一的.我想知道v的所有元素是否都在s中(或者只是停在v的第一个元素而不是s中).我可以将v转换为set并执行== test,但是有没有更改容器类型的另一种方法?

c++ algorithm stl std

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

pandas:优化我的代码(groupby()/ apply())

我有一个形状(RxC)1.5M x 128的数据帧.我执行以下操作:

  1. 我基于6列做groupby().这创建了~8700个子组,每个子组的形状为538 x 122.
  2. 在每个子组中,我运行apply().此函数计算子组中每个分类值PER列(即122)的%频率.

所以我的(pesudo)代码:

<df = Read dataframe from file> g = df.groupby(grp_cols) g[nongrp_cols].apply(lambda d: d.apply(lambda s: s.value_counts()) / len(d.index))

代码对我来说工作正常,所以现在我正在分析它以提高性能.apply()函数运行大约需要20-25分钟.我认为问题是它是在每列(122次)上迭代8700次(每个子组),这可能不是最好的方式(给定我编码的方式).

任何人都可以推荐一些方法来加快速度吗?

我尝试使用python多处理池(8个进程)将子组划分为相同的集合进行处理,但最终得到一些酸洗错误...

谢谢.

pandas

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

Pandas:为什么数字浮点数的默认列类型?

我正在使用Pandas 0.18.1和python 2.7.x. 我有一个空的数据帧,我先读了.我看到这些列的类型object是可以的.当我分配一行数据时,数值的类型将更改为float64.我期待intint64.为什么会这样?

有没有办法设置一些全局选项让Pandas知道数字值,默认情况下将它们视为int除非数据有.?例如,[0 1.0, 2.]第一列是int其他两个float64

例如:

>>> df = pd.read_csv('foo.csv', engine='python', keep_default_na=False)
>>> print df.dtypes
bbox_id_seqno    object
type             object
layer            object
ll_x             object
ll_y             object
ur_x             object
ur_y             object
polygon_count    object
dtype: object
>>> df.loc[0] = ['a', 'b', 'c', 1, 2, 3, 4, 5]
>>> print df.dtypes
bbox_id_seqno     object
type              object
layer             object
ll_x             float64
ll_y             float64
ur_x             float64
ur_y …
Run Code Online (Sandbox Code Playgroud)

python csv nan pandas na

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

Pandas:根据多个列值删除行

我有一个包含列的数据框A,B,C.我有一个像元组的列表[(x1,y1), (x2,y2), ...].我想删除满足以下条件的所有行: (B=x1 && C=y1) | (B=x2 && C=y2) | ...我怎么能在熊猫中做到这一点?我想使用该isin函数,但不确定是否可以,因为我的列表有元组.我可以这样做:

for x,y in tuples:   
    df = df.drop(df[df.B==x && df.C==y].index)
Run Code Online (Sandbox Code Playgroud)

也许有一种更简单的方法.

python pandas

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

熊猫str.count

请考虑以下数据帧.我想计算一个字符串中出现的'$'的数量.我str.count在pandas中使用该函数(http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.str.count.html).

>>> import pandas as pd
>>> df = pd.DataFrame(['$$a', '$$b', '$c'], columns=['A'])
>>> df['A'].str.count('$')
0    1
1    1
2    1
Name: A, dtype: int64
Run Code Online (Sandbox Code Playgroud)

我期待结果[2,2,1].我究竟做错了什么?

在Python中,count字符串模块中的函数返回正确的结果.

>>> a = "$$$$abcd"
>>> a.count('$')
4
>>> a = '$abcd$dsf$'
>>> a.count('$')
3
Run Code Online (Sandbox Code Playgroud)

python pandas

7
推荐指数
2
解决办法
4059
查看次数

熊猫:将数据帧转换为列表的dict

我有这样的数据帧:

col1, col2
A      0
A      1
B      2
C      3
Run Code Online (Sandbox Code Playgroud)

我想得到这个:

{ A: [0,1], B: [2], C: [3] }
Run Code Online (Sandbox Code Playgroud)

我试过了:

df.set_index('col1')['col2'].to_dict()
Run Code Online (Sandbox Code Playgroud)

但这不太正确.我的第一个问题是'A'重复,我最终得到A:1(0被覆盖).怎么修?

python dataframe pandas

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

标签 统计

pandas ×6

python ×6

c++ ×2

algorithm ×1

auto ×1

avx ×1

avx2 ×1

boost-polygon ×1

c++11 ×1

csv ×1

dataframe ×1

graphviz ×1

linux ×1

na ×1

nan ×1

pygraphviz ×1

std ×1

stl ×1

suse ×1

unix ×1