相关疑难解决方法(0)

为什么Python lambdas有用?

我想弄清楚Python lambdas.lambda是现实生活中应该被遗忘的"有趣"语言项目之一吗?

我确信有一些可能需要它的边缘情况,但考虑到它的模糊性,它在未来版本中重新定义的可能性(我基于它的各种定义的假设)和降低的编码清晰度 - 应该是要避免吗?

这让我想起C类型的溢出(缓冲区溢出) - 指向顶部变量并重载以设置其他字段值.感觉就像是一种技术表演,但维护编码器的噩梦.

python lambda closures function

903
推荐指数
22
解决办法
54万
查看次数

删除Python Pandas中的所有重复行

pandas drop_duplicates功能非常适合"统一"数据帧.但是,要传递的关键字参数之一是take_last=Truetake_last=False,虽然我想删除列的子集中所有重复的行.这可能吗?

    A   B   C
0   foo 0   A
1   foo 1   A
2   foo 1   B
3   bar 1   A
Run Code Online (Sandbox Code Playgroud)

作为一个例子,我想下降匹配列的行AC所以这应该丢弃的行0和1.

python duplicates pandas

130
推荐指数
6
解决办法
25万
查看次数

漂亮打印熊猫数据帧

如何将pandas数据框打印为一个漂亮的基于文本的表,如下所示?

+------------+---------+-------------+
| column_one | col_two |   column_3  |
+------------+---------+-------------+
|          0 |  0.0001 | ABCD        |
|          1 |  1e-005 | ABCD        |
|          2 |  1e-006 | long string |
|          3 |  1e-007 | ABCD        |
+------------+---------+-------------+
Run Code Online (Sandbox Code Playgroud)

python printing dataframe pandas

79
推荐指数
9
解决办法
8万
查看次数

如何删除熊猫数据框中具有重复列值的行?

我有一个看起来像这样的熊猫数据框。

'Column1' 'Column2' 'Column3'
'cat'     'bat'.    'xyz'
'toy'    'flower'.  'abc'
'cat'    'bat'      'lmn'
Run Code Online (Sandbox Code Playgroud)

我想确定cat和bat是重复的相同值,因此想删除一个记录并仅保留第一条记录。结果数据帧应该只具有。

'Column1'  'Column2' 'Column3'
'cat'.     'bat'.     'xyz'
'toy'.     'flower'.  'abc'   
Run Code Online (Sandbox Code Playgroud)

python pandas

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

从Pandas数据框中删除重复的行,其中只有一些列具有相同的值

我有一个pandas数据帧如下:

A   B   C
1   2   x
1   2   y
3   4   z
3   5   x
Run Code Online (Sandbox Code Playgroud)

我希望在特定列中只有一行共享相同值的行.在上面的例子中,我指的是A列和B列.换句话说,如果列AB的值在数据帧中出现不止一次,则只应保留一行(哪一行无关紧要).

FWIW:所谓的重复行的最大数量(即,列AB相同)是2.

结果应该像这样说:

A   B   C
1   2   x
3   4   z
3   5   x
Run Code Online (Sandbox Code Playgroud)

要么

A   B   C
1   2   y
3   4   z
3   5   x
Run Code Online (Sandbox Code Playgroud)

python duplicates dataframe pandas

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

python位数组(performant)

我正在设计一个bloom过滤器,我想知道Python中性能最高的位数组实现是什么.

Python的优点是它可以处理开箱即用的任意长度整数,这就是我现在使用的,但我不太了解Python内部,知道这是否是在Python中执行它的最高性能方式.

我找到了,bitarray但它处理了很多其他的事情,比如切片,我不需要.我只需要&|<<操作.

python performance bloom-filter bitarray

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

将NaNs移动到各自行的末尾

我有一个像DataFrame:

     0    1    2
0  0.0  1.0  2.0
1  NaN  1.0  2.0
2  NaN  NaN  2.0
Run Code Online (Sandbox Code Playgroud)

我想得到的是

Out[116]: 
     0    1    2
0  0.0  1.0  2.0
1  1.0  2.0  NaN
2  2.0  NaN  NaN
Run Code Online (Sandbox Code Playgroud)

这是我现在的做法.

df.apply(lambda x : (x[x.notnull()].values.tolist()+x[x.isnull()].values.tolist()),1)
Out[117]: 
     0    1    2
0  0.0  1.0  2.0
1  1.0  2.0  NaN
2  2.0  NaN  NaN
Run Code Online (Sandbox Code Playgroud)

有没有有效的方法来实现这一目标?apply这是减速的方法.谢谢你的助手!:)


我的实际数据大小

df.shape
Out[117]: (54812040, 1522)
Run Code Online (Sandbox Code Playgroud)

python nan dataframe pandas

5
推荐指数
2
解决办法
767
查看次数

从数据帧python中的行和列(单元格)中删除重复项

我有两列在数据框中每个单元格有很多重复项目.与此类似的东西:

Index   x    y  
  1     1    ec, us, us, gbr, lst
  2     5    ec, us, us, us, us, ec, ec, ec, ec
  3     8    ec, us, us, gbr, lst, lst, lst, lst, gbr
  4     5    ec, ec, ec, us, us, ir, us, ec, ir, ec, ec
  5     7    chn, chn, chn, ec, ec, us, us, gbr, lst
Run Code Online (Sandbox Code Playgroud)

我需要消除所有重复的项目,得到如下结果数据帧:

Index   x    y  
  1     1    ec, us, gbr, lst
  2     5    ec, us
  3     8    ec, us, gbr,lst
  4     5    ec, us, …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

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