小编aro*_*oma的帖子

pandas groupby方法实际上是如何工作的?

所以我试图理解pandas.dataFrame.groupby()函数,我在文档中遇到了这个例子:

    In [1]: df = pd.DataFrame({'A' : ['foo', 'bar', 'foo', 'bar',
   ...:                           'foo', 'bar', 'foo', 'foo'],
   ...:                    'B' : ['one', 'one', 'two', 'three',
   ...:                           'two', 'two', 'one', 'three'],
   ...:                    'C' : np.random.randn(8),
   ...:                    'D' : np.random.randn(8)})
   ...: 

In [2]: df
Out[2]: 
     A      B         C         D
0  foo    one  0.469112 -0.861849
1  bar    one -0.282863 -2.104569
2  foo    two -1.509059 -0.494929
3  bar  three -1.135632  1.071804
4  foo    two  1.212112  0.721555
5  bar    two -0.173215 -0.706771
6  foo    one  0.119209 -1.039575 …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

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

如何在Pandas中的.csv文件中写入DataFrame时删除索引列?

我的DataFrame包含两列名为"a","b"的列.现在,当我创建此DataFrame的csv文件时:

df.to_csv( 'myData.csv')

当我在一个excel文件中打开它时,有一个额外的列,索引出现在列'a'和'b'旁边,但我不希望这样.我只希望列'a'和'b'出现在Excel工作表中.

有没有办法做到这一点?

python csv dataframe pandas

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

子阵列查询

所以我试图解决这个编程问题.

给出一组数字和一些查询.每个查询都会给出三个数字a,b,c,并要求您回答索引a到索引b(包括两者)中小于或等于c的所有元素的总和.

例如:

给定阵列:{2,4,6,1,5,1,6,4,5,4}

将回答3个查询:

2 4 4 - > ans = 5即{4 + 1}

1 5 3 - > ans = 3即{2 + 1}

4 5 1 - > ans = 1

数组中的每个值小于10 ^ 5,数组的长度和查询的数量可以达到10 ^ 5

这就是我所做的我用Mo的算法(平方根分解)对查询进行排序,并创建了一个二进制索引树,用于存储元素的累积和小于1-10 ^ 5中的所有值,并进行了更新.对查询的查询.使用这种算法,我的解决方案的整体复杂性是O(q*sqrt(N)*log(N)),但速度不够快.我在寻找更好的算法.我认为查询的平方根分解是行不通的.有没有更好的算法来解决这个问题?

我想知道是否有一些数据结构可以解决我不知道的这个问题?

algorithm optimization tree data-structures

6
推荐指数
1
解决办法
573
查看次数

与数组具有相同"度"的子数组的数量

因此在测验中询问了这个问题,问题如下:

您将获得一个数组'a',其元素范围为1-10 6 ,数组大小可能最大为10 5现在我们要求找到与原始数组具有相同"degree"的子数组.数组的度数定义为数组中最大出现元素的频率.多个元素可以具有相同的频率.

我被困在这个问题上一个小时但却想不到任何解决方案.我该如何解决?

样本输入:

first-input
1,2,2,3,1
first-output 2
second-input
1,1,2,1,2,2
second-output 4
Run Code Online (Sandbox Code Playgroud)

arrays algorithm

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

C++标准库中是否有红黑树或avl树实现?

就像multiset是STL中的二叉搜索树实现一样,是否有可用的RB树或AVL树实现?

c++ algorithm stl avl-tree red-black-tree

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

在每行的numpy数组中计算正确的数目?

我有一个numpy数组,我想返回true每一行的值计数。

例如我有一个numpy数组:

[[False False False ..., False False False]
 [False False False ..., False False False]
 [False False False ..., False  True False]
 ..., 
 [False False False ..., False False False]
 [ True False  True ...,  True  True  True]
 [False False False ..., False False False]]
Run Code Online (Sandbox Code Playgroud)

返回值应类似于:

[10
 15
 8
 ..., 
 11
 10
 12]
Run Code Online (Sandbox Code Playgroud)

这个问题询问如何对整个数组执行操作,但是如何对每一行执行操作呢?

python numpy

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

使用逻辑和运算符在 Pandas 中创建 DataFrame

我有一个带有一些列的 Pandas Datarame,我首先想只打印特定列中值小于某个值的那些行。所以我做了:

df[df.marks < 4.5]
Run Code Online (Sandbox Code Playgroud)

它成功创建了数据框,现在我只想添加那些值在某个范围内的列,所以我尝试了这个:

df[(df.marks < 4.5 and df.marks > 4)]
Run Code Online (Sandbox Code Playgroud)

但它给了我一个错误:

712         raise ValueError("The truth value of a {0} is ambiguous. "    
713                          "Use a.empty, a.bool(), a.item(), a.any() or a.all()."
--> 714                          .format(self.__class__.__name__))
715 
716     __bool__ = __nonzero__    
ValueError: The truth value of a Series is ambiguous. Use a.empty,
a.bool(), a.item(), a.any() or a.all().
Run Code Online (Sandbox Code Playgroud)

我该如何解决?最初我还认为它会遍历所有行并检查真值,然后在数据框中添加行,但似乎并非如此,如果是这样,它如何在数据框中添加行?

python pandas jupyter-notebook

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