pandas - 从浮点类型列中删除逗号

问题描述 投票:1回答:2

我有以下大型DataFrame,其中我的几个列(如Open,Low,High等)都有逗号。

         Trade Date     RIC RIC Root ISIN Expiration Date  \
0        2009-10-16  MFMIF0     MFMI  NaN      2010-01-15   
1        2009-10-19  MFMIF0     MFMI  NaN      2010-01-15   
2        2009-10-20  MFMIF0     MFMI  NaN      2010-01-15   
3        2009-10-21  MFMIF0     MFMI  NaN      2010-01-15   
4        2009-10-22  MFMIF0     MFMI  NaN      2010-01-15   
5        2009-10-23  MFMIF0     MFMI  NaN      2010-01-15   
6        2009-10-26  MFMIF0     MFMI  NaN      2010-01-15   
7        2009-10-27  MFMIF0     MFMI  NaN      2010-01-15   
8        2009-10-28  MFMIF0     MFMI  NaN      2010-01-15   
9        2009-10-29  MFMIF0     MFMI  NaN      2010-01-15   
10       2009-10-30  MFMIF0     MFMI  NaN      2010-01-15   
11       2009-11-02  MFMIF0     MFMI  NaN      2010-01-15   
12       2009-11-03  MFMIF0     MFMI  NaN      2010-01-15   
13       2009-11-04  MFMIF0     MFMI  NaN      2010-01-15   
14       2009-11-05  MFMIF0     MFMI  NaN      2010-01-15   
15       2009-11-06  MFMIF0     MFMI  NaN      2010-01-15   
16       2009-11-09  MFMIF0     MFMI  NaN      2010-01-15   
17       2009-11-10  MFMIF0     MFMI  NaN      2010-01-15   
18       2009-11-11  MFMIF0     MFMI  NaN      2010-01-15   
19       2009-11-12  MFMIF0     MFMI  NaN      2010-01-15   
20       2009-11-13  MFMIF0     MFMI  NaN      2010-01-15   
21       2009-11-16  MFMIF0     MFMI  NaN      2010-01-15   
22       2009-11-17  MFMIF0     MFMI  NaN      2010-01-15   
23       2009-11-18  MFMIF0     MFMI  NaN      2010-01-15   
24       2009-11-19  MFMIF0     MFMI  NaN      2010-01-15   
25       2009-11-20  MFMIF0     MFMI  NaN      2010-01-15   
26       2009-11-23  MFMIF0     MFMI  NaN      2010-01-15   
27       2009-11-24  MFMIF0     MFMI  NaN      2010-01-15   
28       2009-11-25  MFMIF0     MFMI  NaN      2010-01-15   
29       2009-11-26  MFMIF0     MFMI  NaN      2010-01-15   
            ...     ...      ...  ...             ...   
3988087  2016-02-11     BJ6        B  NaN      2016-02-26   
3988088  2016-02-12     BJ6        B  NaN      2016-02-26   
3988089  2016-02-16     BJ6        B  NaN      2016-02-26   
3988090  2016-02-17     BJ6        B  NaN      2016-02-26   
3988091  2016-02-18     BJ6        B  NaN      2016-02-26   
3988092  2016-02-19     BJ6        B  NaN      2016-02-26   
3988093  2016-02-22     BJ6        B  NaN      2016-02-26   
3988094  2016-02-23     BJ6        B  NaN      2016-02-26   
3988095  2016-02-24     BJ6        B  NaN      2016-02-26   
3988096  2016-02-25     BJ6        B  NaN      2016-02-26   
3988097  2016-02-26     BJ6        B  NaN      2016-02-26   
3988098  2006-02-16     BJ6        B  NaN      2006-03-15   
3988099  2006-02-17     BJ6        B  NaN      2006-03-15   
3988100  2006-02-21     BJ6        B  NaN      2006-03-15   
3988101  2006-02-22     BJ6        B  NaN      2006-03-15   
3988102  2006-02-23     BJ6        B  NaN      2006-03-15   
3988103  2006-02-24     BJ6        B  NaN      2006-03-15   
3988104  2006-02-27     BJ6        B  NaN      2006-03-15   
3988105  2006-02-28     BJ6        B  NaN      2006-03-15   
3988106  2006-03-01     BJ6        B  NaN      2006-03-15   
3988107  2006-03-02     BJ6        B  NaN      2006-03-15   
3988108  2006-03-03     BJ6        B  NaN      2006-03-15   
3988109  2006-03-06     BJ6        B  NaN      2006-03-15   
3988110  2006-03-07     BJ6        B  NaN      2006-03-15   
3988111  2006-03-08     BJ6        B  NaN      2006-03-15   
3988112  2006-03-09     BJ6        B  NaN      2006-03-15   
3988113  2006-03-10     BJ6        B  NaN      2006-03-15   
3988114  2006-03-13     BJ6        B  NaN      2006-03-15   
3988115  2006-03-14     BJ6        B  NaN      2006-03-15   
3988116  2006-03-15     BJ6        B  NaN      2006-03-15   

                         Exchange Description  CUSIP    Open     Low    High  \
0                         MEFF Renta Variable    NaN     NaN     NaN     NaN   
1                         MEFF Renta Variable    NaN     NaN     NaN     NaN   
2                         MEFF Renta Variable    NaN     NaN     NaN     NaN   
3                         MEFF Renta Variable    NaN     NaN     NaN     NaN   
4                         MEFF Renta Variable    NaN     NaN     NaN     NaN   
5                         MEFF Renta Variable    NaN     NaN     NaN     NaN   
6                         MEFF Renta Variable    NaN     NaN     NaN     NaN   
7                         MEFF Renta Variable    NaN     NaN     NaN     NaN   
8                         MEFF Renta Variable    NaN     NaN     NaN     NaN   
9                         MEFF Renta Variable    NaN     NaN     NaN     NaN   
10                        MEFF Renta Variable    NaN     NaN     NaN     NaN   
11                        MEFF Renta Variable    NaN  11,355  11,330  11,355   
12                        MEFF Renta Variable    NaN  11,100  11,100  11,100   
13                        MEFF Renta Variable    NaN  11,180  11,180  11,255   
14                        MEFF Renta Variable    NaN  11,150  11,150  11,150   
15                        MEFF Renta Variable    NaN     NaN     NaN     NaN   
16                        MEFF Renta Variable    NaN     NaN     NaN     NaN   
17                        MEFF Renta Variable    NaN     NaN     NaN     NaN   
18                        MEFF Renta Variable    NaN  11,720  11,720  11,720   
19                        MEFF Renta Variable    NaN     NaN     NaN     NaN   
20                        MEFF Renta Variable    NaN     NaN     NaN     NaN   
21                        MEFF Renta Variable    NaN     NaN     NaN     NaN   
22                        MEFF Renta Variable    NaN     NaN     NaN     NaN   
23                        MEFF Renta Variable    NaN     NaN     NaN     NaN   
24                        MEFF Renta Variable    NaN  11,900  11,900  11,900   
25                        MEFF Renta Variable    NaN  11,810  11,650  11,845   
26                        MEFF Renta Variable    NaN  11,820  11,820  11,895   
27                        MEFF Renta Variable    NaN  11,745  11,740  11,890   
28                        MEFF Renta Variable    NaN  11,930  11,845  11,945   
29                        MEFF Renta Variable    NaN  11,780  11,580  11,790   
                                      ...    ...     ...     ...     ...   
3988087  New York Mercantile Exchange (NYMEX)    NaN     NaN     NaN     NaN   
3988088  New York Mercantile Exchange (NYMEX)    NaN     NaN     NaN     NaN   
3988089  New York Mercantile Exchange (NYMEX)    NaN     NaN     NaN     NaN   
3988090  New York Mercantile Exchange (NYMEX)    NaN     NaN     NaN     NaN   
3988091  New York Mercantile Exchange (NYMEX)    NaN     NaN     NaN     NaN   
3988092  New York Mercantile Exchange (NYMEX)    NaN     NaN     NaN     NaN   
3988093  New York Mercantile Exchange (NYMEX)    NaN     NaN     NaN     NaN   
3988094  New York Mercantile Exchange (NYMEX)    NaN     NaN     NaN     NaN   
3988095  New York Mercantile Exchange (NYMEX)    NaN     NaN     NaN     NaN   
3988096  New York Mercantile Exchange (NYMEX)    NaN     NaN     NaN     NaN   
3988097  New York Mercantile Exchange (NYMEX)    NaN     NaN     NaN     NaN   
3988098  New York Mercantile Exchange (NYMEX)    NaN     NaN     NaN     NaN   
3988099  New York Mercantile Exchange (NYMEX)    NaN     NaN     NaN     NaN   
3988100  New York Mercantile Exchange (NYMEX)    NaN     NaN     NaN     NaN   
3988101  New York Mercantile Exchange (NYMEX)    NaN     NaN     NaN     NaN   
3988102  New York Mercantile Exchange (NYMEX)    NaN     NaN     NaN     NaN   
3988103  New York Mercantile Exchange (NYMEX)    NaN     NaN     NaN     NaN   
3988104  New York Mercantile Exchange (NYMEX)    NaN     NaN     NaN     NaN   
3988105  New York Mercantile Exchange (NYMEX)    NaN     NaN     NaN     NaN   
3988106  New York Mercantile Exchange (NYMEX)    NaN     NaN     NaN     NaN   
3988107  New York Mercantile Exchange (NYMEX)    NaN     NaN     NaN     NaN   
3988108  New York Mercantile Exchange (NYMEX)    NaN     NaN     NaN     NaN   
3988109  New York Mercantile Exchange (NYMEX)    NaN     NaN     NaN     NaN   
3988110  New York Mercantile Exchange (NYMEX)    NaN     NaN     NaN     NaN   
3988111  New York Mercantile Exchange (NYMEX)    NaN     NaN     NaN     NaN   
3988112  New York Mercantile Exchange (NYMEX)    NaN     NaN     NaN     NaN   
3988113  New York Mercantile Exchange (NYMEX)    NaN     NaN     NaN     NaN   
3988114  New York Mercantile Exchange (NYMEX)    NaN     NaN     NaN     NaN   
3988115  New York Mercantile Exchange (NYMEX)    NaN     NaN     NaN     NaN   
3988116  New York Mercantile Exchange (NYMEX)    NaN     NaN     NaN     NaN   

           Last Settlement Price     Ask      Bid  Volume Open Interest  \
0           NaN              NaN     NaN      NaN     NaN           NaN   
1           NaN           11,735     NaN      NaN     NaN           NaN   
2           NaN           11,647  11,755  11545.0     NaN           NaN   
3           NaN           11,741     NaN  11455.0     NaN           NaN   
4           NaN           11,696  11,775      NaN     NaN           NaN   
5           NaN           11,595  11,800      NaN     NaN           NaN   
6           NaN           11,483  11,735  11400.0     NaN           NaN   
7           NaN           11,503     NaN      NaN     NaN           NaN   
8           NaN           11,289     NaN      NaN     NaN           NaN   
9           NaN           11,542     NaN      NaN     NaN           NaN   
10          NaN           11,273     NaN      NaN     NaN           NaN   
11       11,330           11,333     NaN      NaN     2.0           NaN   
12       11,100           11,108  11,125      NaN     1.0             1   
13       11,255           11,246     NaN  11220.0     2.0             1   
14       11,150           11,415     NaN      NaN     1.0             1   
15          NaN           11,448     NaN      NaN     NaN             1   
16          NaN           11,674     NaN      NaN     NaN             1   
17          NaN           11,676  12,000      NaN     NaN             1   
18       11,720           11,733     NaN      NaN     1.0             2   
19          NaN           11,767     NaN  11600.0     NaN             2   
20          NaN           11,816     NaN      NaN     NaN             2   
21          NaN           11,928     NaN  11380.0     NaN             2   
22          NaN           11,890  11,990      NaN     NaN             2   
23          NaN           11,965  12,180      NaN     NaN             2   
24       11,900           11,780  12,100  11710.0     1.0             2   
25       11,650           11,655  11,690  11330.0    11.0             9   
26       11,895           11,870  11,880  11840.0    19.0            15   
27       11,860           11,842  11,865  11835.0    24.0            26   
28       11,880           11,890  11,930  11860.0    33.0            28   
29       11,600           11,591  11,635  11590.0    33.0            50   
        ...              ...     ...      ...     ...           ...   
3988087     NaN            30.06     NaN      NaN     NaN           177   
3988088     NaN            33.36     NaN      NaN     NaN           177   
3988089     NaN            32.18     NaN      NaN     NaN           177   
3988090     NaN             34.5     NaN      NaN     NaN           177   
3988091     NaN            34.28     NaN      NaN     NaN           177   
3988092     NaN            33.01     NaN      NaN     NaN           177   
3988093     NaN            34.69     NaN      NaN     NaN           177   
3988094     NaN            33.27     NaN      NaN     NaN           177   
3988095     NaN            34.41     NaN      NaN     NaN           177   
3988096     NaN            35.29     NaN      NaN     NaN           177   
3988097     NaN             35.1     NaN      NaN   100.0            82   
3988098     NaN              NaN     NaN      NaN     NaN           NaN   
3988099     NaN              NaN     NaN      NaN     NaN           NaN   
3988100     NaN              NaN     NaN      NaN     NaN           NaN   
3988101     NaN              NaN     NaN      NaN     NaN           NaN   
3988102     NaN              NaN     NaN      NaN     NaN           NaN   
3988103     NaN              NaN     NaN      NaN     NaN           NaN   
3988104     NaN              NaN     NaN      NaN     NaN           NaN   
3988105     NaN              NaN     NaN      NaN     NaN           NaN   
3988106     NaN              NaN     NaN      NaN     NaN           NaN   
3988107     NaN              NaN     NaN      NaN     NaN           NaN   
3988108     NaN              NaN     NaN      NaN     NaN           NaN   
3988109     NaN              NaN     NaN      NaN     NaN           NaN   
3988110     NaN              NaN     NaN      NaN     NaN           NaN   
3988111     NaN              NaN     NaN      NaN     NaN           NaN   
3988112     NaN              NaN     NaN      NaN     NaN           NaN   
3988113     NaN              NaN     NaN      NaN     NaN           NaN   
3988114     NaN              NaN     NaN      NaN     NaN           NaN   
3988115     NaN              NaN     NaN      NaN     NaN           NaN   
3988116     NaN              NaN     NaN      NaN     NaN           NaN   

         Block Volume  Total Volume 2 Security Description  \
0                 NaN             NaN       IBEX35 MI JAN0   
1                 NaN             NaN       IBEX35 MI JAN0   
2                 NaN             NaN       IBEX35 MI JAN0   
3                 NaN             NaN       IBEX35 MI JAN0   
4                 NaN             NaN       IBEX35 MI JAN0   
5                 NaN             NaN       IBEX35 MI JAN0   
6                 NaN             NaN       IBEX35 MI JAN0   
7                 NaN             NaN       IBEX35 MI JAN0   
8                 NaN             NaN       IBEX35 MI JAN0   
9                 NaN             NaN       IBEX35 MI JAN0   
10                NaN             NaN       IBEX35 MI JAN0   
11                NaN             NaN       IBEX35 MI JAN0   
12                NaN             NaN       IBEX35 MI JAN0   
13                NaN             NaN       IBEX35 MI JAN0   
14                NaN             NaN       IBEX35 MI JAN0   
15                NaN             NaN       IBEX35 MI JAN0   
16                NaN             NaN       IBEX35 MI JAN0   
17                NaN             NaN       IBEX35 MI JAN0   
18                NaN             NaN       IBEX35 MI JAN0   
19                NaN             NaN       IBEX35 MI JAN0   
20                NaN             NaN       IBEX35 MI JAN0   
21                NaN             NaN       IBEX35 MI JAN0   
22                NaN             NaN       IBEX35 MI JAN0   
23                NaN             NaN       IBEX35 MI JAN0   
24                NaN             NaN       IBEX35 MI JAN0   
25                NaN             NaN       IBEX35 MI JAN0   
26                NaN             NaN       IBEX35 MI JAN0   
27                NaN             NaN       IBEX35 MI JAN0   
28                NaN             NaN       IBEX35 MI JAN0   
29                NaN             NaN       IBEX35 MI JAN0   
              ...             ...                  ...   
3988087           NaN             NaN       BRENT FIN APR6   
3988088           NaN             NaN       BRENT FIN APR6   
3988089           NaN             NaN       BRENT FIN APR6   
3988090           NaN             NaN       BRENT FIN APR6   
3988091           NaN             NaN       BRENT FIN APR6   
3988092           NaN             NaN       BRENT FIN APR6   
3988093           NaN             NaN       BRENT FIN APR6   
3988094           NaN             NaN       BRENT FIN APR6   
3988095           NaN             NaN       BRENT FIN APR6   
3988096           NaN             NaN       BRENT FIN APR6   
3988097         100.0             NaN       BRENT FIN APR6   
3988098           NaN             NaN       BRENT FIN APR6   
3988099           NaN             NaN       BRENT FIN APR6   
3988100           NaN             NaN       BRENT FIN APR6   
3988101           NaN             NaN       BRENT FIN APR6   
3988102           NaN             NaN       BRENT FIN APR6   
3988103           NaN             NaN       BRENT FIN APR6   
3988104           NaN             NaN       BRENT FIN APR6   
3988105           NaN             NaN       BRENT FIN APR6   
3988106           NaN             NaN       BRENT FIN APR6   
3988107           NaN             NaN       BRENT FIN APR6   
3988108           NaN             NaN       BRENT FIN APR6   
3988109           NaN             NaN       BRENT FIN APR6   
3988110           NaN             NaN       BRENT FIN APR6   
3988111           NaN             NaN       BRENT FIN APR6   
3988112           NaN             NaN       BRENT FIN APR6   
3988113           NaN             NaN       BRENT FIN APR6   
3988114           NaN             NaN       BRENT FIN APR6   
3988115           NaN             NaN       BRENT FIN APR6   
3988116           NaN             NaN       BRENT FIN APR6   

我没有成功尝试从浮点值中删除逗号,使用以下代码:

df.columns = [col.replace(',', '') for col in df.columns]

我尝试过的每一种方法似乎都不起作用,无论它们是否没有运行和错误。任何帮助,将不胜感激。

python pandas
2个回答
1
投票

看看df.columns是什么。这是列的名称。不是列中的数据。

一种选择是使用map之类的东西转换数据框中的数据

df["Open"].map(lambda x: float(x.replace(",", ""))

但是有很多原因导致这种情况变得缓慢且次优。您可以通过最佳地使用read_csv来加快速度。这样的事情对你有用:

date_columns = ["Trade Date", "Expiration Date"]
float_columns = ["Open", "High", "Low", "Close", "Last", "Settlement Price", 
                 "Bid", "Ask", "Volume", "Open Interest"]
data_types = {column: float for column in float_columns}
df = pd.read_csv(file_path, 
                 parse_dates=date_columns,
                 dtype=data_types,
                 engine="c",
                 low_memory=False,
                 thousands=",")

熟悉read_csv选项很有用:https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html


1
投票

运行:pd.options.display.float_format = '{:.1f}'.format

© www.soinside.com 2019 - 2024. All rights reserved.