Pandas 表格:将特定列转为数据类型,跳过 NaN 值
Pandas 表格:将特定列转为数据类型,跳过 NaN 值
在使用 Pandas 处理表格数据时,有时需要将特定列转为数据类型,例如将字符串列转为数值列。如果数据中存在 NaN 值,则需要在转换过程中跳过这些值。本文将介绍如何使用 Pandas 实现这一功能。
示例代码:
import pandas as pd
# 创建示例数据
data = {'A': [1, 2, 3, 4], 'B': ['apple', 'banana', 'NaN', 'orange']}
df = pd.DataFrame(data)
# 删除 NaN 值
df = df.dropna()
# 将 B 列转为字符串类型
df['B'] = df['B'].astype(str)
# 将 B 列转为数据类型,如果是 NaN 则跳过
def str_to_num(x):
try:
return float(x)
except:
pass
return x
df['B'] = df['B'].apply(str_to_num)
代码解释:
-
创建示例数据: 使用字典创建示例数据,其中包含两列
A和B,B列包含字符串和 NaN 值。 -
删除 NaN 值: 使用
dropna()函数删除包含 NaN 值的行。 -
将 B 列转为字符串类型: 使用
astype()函数将B列转为字符串类型。 -
定义 str_to_num() 函数: 该函数用于将字符串转为数据类型。如果字符串无法转换为数字,则返回原字符串。
-
将 B 列应用到 str_to_num() 函数: 使用
apply()函数将str_to_num()函数应用到B列,将字符串转为数据类型,并跳过 NaN 值。
总结:
本文介绍了如何使用 Pandas 将表格中特定列转为数据类型,并处理 NaN 值。通过示例代码展示了利用 dropna() 删除 NaN 值、astype() 将列转为字符串类型,以及自定义函数 str_to_num() 将字符串转为数据类型,并跳过 NaN 值。这些方法可以帮助您更有效地处理包含 NaN 值的表格数据。
原文地址: https://www.cveoy.top/t/topic/ntwg 著作权归作者所有。请勿转载和采集!