我有一个包含5列的数据帧,其中一列有多个无穷大值(UTF-8编码(。我使用以下代码来读取文件并构建一个df
df = pd.read_csv(file,decimal=',',delimiter=';',header=[0,1],encoding = 'utf-8',low_memory=False)
infinity = df['Kanal C'].loc[250471]
print(infinity)
print (df)
print (df.dtypes)
打印df和dtypes后的输出如下
(V) ∞
Name: 250471, dtype: object
Zeit Kanal A Kanal B Kanal C Kanal D
(ms) (V) (V) (V) (V)
0 -10.000087 0.079202 0.031558 -2,38404300 0.159326
1 -10.000031 0.079202 0.047367 -2,38404300 0.000000
2 -9.999975 0.039524 0.063177 -2,38404300 0.000000
3 -9.999919 0.039524 0.063177 -2,46339800 0.159326
4 -9.999863 0.079202 0.015748 -2,54306100 0.000000
... ... ... ... ... ...
892856 39.999846 0.039524 0.047367 -1,98665100 0.000000
892857 39.999902 0.039524 0.063177 -1,98665100 0.000000
892858 39.999958 0.039524 0.063177 -1,98665100 0.000000
892859 40.000014 0.039524 0.047367 -2,06600600 0.159326
892860 40.000070 0.039524 0.063177 -2,06600600 0.159326
[892861 rows x 5 columns]
Zeit (ms) float64
Kanal A (V) float64
Kanal B (V) float64
Kanal C (V) object
Kanal D (V) float64
dtype: object
现在,名为Kanal C
的列具有多个无穷大值,因此无法转换为浮点值。我已经阅读并尝试了很多这样的内容来替换、删除、删除这些值和行,但都不起作用。我想从数据帧中删除或替换所有那些"无限"字符,并想将KanalC转换为像其他列一样浮动。
我找到了一种使用python解码函数定义无穷大符号的方法,这解决了我的大部分问题
inf = b'xe2x88x9e'.decode('utf-8')