Pandas DataFrame中,将空列表替换为NaN
在本文中,我们将介绍如何在Pandas DataFrame中,将空列表替换为NaN。
阅读更多:Pandas 教程
前言
在使用Pandas处理数据时,我们可能会遇到DataFrame中某些列包含了空列表的情况,例如:
import pandas as pd
import numpy as np
data = {'col1': [1, 2, 3], 'col2': [[], [4, 5], []]}
df = pd.DataFrame(data)
print(df)
输出:
col1 col2
0 1 []
1 2 [4, 5]
2 3 []
在上述DataFrame中,col2
列包含了两个空列表。对于这种情况,我们通常会希望将空列表替换为NaN值,以方便后续数据处理。
方法一:使用apply方法替换
我们可以使用DataFrame中的apply
方法,配合一个匿名函数来实现将空列表替换为NaN的目的。具体代码如下:
df['col2'] = df['col2'].apply(lambda x: np.nan if len(x)==0 else x)
print(df)
输出:
col1 col2
0 1 NaN
1 2 [4, 5]
2 3 NaN
方法二:使用replace方法替换
除了使用apply
方法,我们还可以使用replace
方法,将空列表替换为NaN值。具体代码如下:
df['col2'].replace(to_replace=[[]], value=np.nan, inplace=True)
print(df)
输出:
col1 col2
0 1 NaN
1 2 [4, 5]
2 3 NaN
总结
本文介绍了在Pandas DataFrame中,将空列表替换为NaN的两种方法:使用apply
方法和replace
方法。这两种方法的效果是相同的,但是使用apply
方法稍微繁琐些。对于数据量较大的DataFrame,可以考虑使用replace
方法来替换空列表。