gpt4 book ai didi

python - 删除 Pandas 数据框中的特殊字符

转载 作者:太空狗 更新时间:2023-10-29 22:18:19 31 4
gpt4 key购买 nike

这似乎是一项本质上简单的任务,但我发现很难从我的整个数据框中删除“”并返回每列中的数值,包括没有“'。日期框包含数百个列,简而言之如下所示:

Time            A1      A2
2.0002546296 1499 1592
2.0006712963 1252 1459
2.0902546296 1731 2223
2.0906828704 1691 1904
2.1742245370 2364 3121
2.1764699074 2096 1942
2.7654050926 *7639* *8196*
2.7658564815 *7088* *7542*
2.9048958333 *8736* *8459*
2.9053125000 *7778* *7704*
2.9807175926 *6612* *6593*
3.0585763889 *8520* *9122*

我还没有编写它来遍历 df 中的每一列,但就第一列而言,我已经想出了这个

df['A1'].str.replace('*','').astype(float)

产生

0        NaN
1 NaN
2 NaN
3 NaN
4 NaN
5 NaN
6 NaN
7 NaN
8 NaN
9 NaN
10 NaN
11 NaN
12 NaN
13 NaN
14 NaN
15 NaN
16 NaN
17 NaN
18 NaN
19 7639.0
20 7088.0
21 8736.0
22 7778.0
23 6612.0
24 8520.0

有没有一种非常简单的方法可以删除 pandas 数据框中的“*”?

最佳答案

使用replace适用于整个数据框:

df
Out[14]:
Time A1 A2
0 2.000255 1499 1592
1 2.176470 2096 1942
2 2.765405 *7639* *8196*
3 2.765856 *7088* *7542*
4 2.904896 *8736* *8459*
5 2.905312 *7778* *7704*
6 2.980718 *6612* *6593*
7 3.058576 *8520* *9122*

df=df.replace('\*','',regex=True).astype(float)

df
Out[16]:
Time A1 A2
0 2.000255 1499 1592
1 2.176470 2096 1942
2 2.765405 7639 8196
3 2.765856 7088 7542
4 2.904896 8736 8459
5 2.905312 7778 7704
6 2.980718 6612 6593
7 3.058576 8520 9122

关于python - 删除 Pandas 数据框中的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38277928/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com