簡體   English   中英

用於熊貓數據幀/系列的將二進制轉換為int的矢量化方法

[英]Vectorized method of converting binary to int for pandas dataframe/series

我搜索過的一切都只能得到apply的解決方案,我知道是不是真的的優化方法。 例如:

df['c1'].apply(lambda x: int(x2, 2))

我一直在尋找pd.Series的文檔頁面,但到目前為止找不到任何東西。

有更快的方法嗎?

編輯:轉到此:

0         11111
1         00000
2         00000
3         00010
4         00011
5         00100
6         00000
7         00001
8         01001
9         00000
10        00111
11        10111
12        11001
13        01001
14        01100
15        01100
16        00000
17        00110
18        10101
19        10101
20        01011
21        01110
22        01110
23        10101
24        00001
25        01001
26        01010
27        00000
28        00000
29        00000
          ...  
139861    01000
139862    10000
139863    00100

變成這個:

0         31
1         0 
2         0 
3         2 
4         3 
5         4 
6         0 
7         1 
8         9 
9         0 
10        7 
11        23
12        25
13        9 
14        12
15        12
16        0 
17        6 
18        21
19        21
20        11
21        14
22        14
23        21
24        1 
25        9 
26        10
27        0 
28        0 
29        0 
         .. 
139861    8 
139862    16
139863    4 

我沒想到你原來的...

df['col1'].apply(lambda x: int(x2, 2))

...將會非常緩慢。.但是,您可以通過在apply中使用args=來避免lambda開銷,例如:

df.col1.apply(int, args=(2,))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM