pandas对列数据进行处理(列数据字符串设置为NaN)|pandas.to_numeric
【摘要】
to_numeric方法官网链接
需求:dataFrame列数据中有字符串,需要把字符串替换为NaN效果图:
A B C D E F
a 0 ...
- 需求:dataFrame列数据中有字符串,需要把字符串替换为NaN
- 效果图:
A B C D E F
a 0 1 2 3 4 5
b 6 7 welcome 9 10 11
c 12 13 to 15 16 17
d 18 19 China 21 22 23
e 24 25 你 27 28 29
f 30 31 32 6556 34 35
————————————————————转换如下——————————————————
A B C D E F
a 0 1 2.0 3 4 5
b 6 7 NaN 9 10 11
c 12 13 NaN 15 16 17
d 18 19 NaN 21 22 23
e 24 25 NaN 27 28 29
f 30 31 32.0 6556 34 35
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 代码
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams.update({'figure.max_open_warning': 0})
# 创建模拟数据
df = pd.DataFrame(np.arange(36).reshape(6, 6), index=list('abcdef'), columns=list('ABCDEF'))
print(df)
print(df.dtypes)
df.iloc[1, 2] = 'welcome'
df.iloc[2, 2] = 'to'
df.iloc[3, 2] = 'China'
df.iloc[4, 2] = '你'
df.iloc[5, 3] = ' 6556'
print(df)
print(df.dtypes)
print('———————————————转换如下———————————————————————')
# 第 2 列数据 字符串 set as NaN.
df.iloc[:, 2] = pd.to_numeric(df.iloc[:, 2], errors='coerce')
# 第 3 列数据 本身可以转为 int类型,则进行转换
df.iloc[:, 3] = pd.to_numeric(df.iloc[:, 3], downcast='integer')
print(df)
print(df.dtypes)
# data_raw.replace('', np.nan, inplace=True)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
文章来源: positive.blog.csdn.net,作者:墨理学AI,版权归原作者所有,如需转载,请联系作者。
原文链接:positive.blog.csdn.net/article/details/105223619
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)