解答:
Python填充某一列空值可以使用pandas庫中的fillna()方法來填充。fillna()方法可以對指定列進行空值填充,可以根據具體情況進行填充,比如可以進行前向填充或後向填充,也可以使用特定的值來填充。
一、前向填充和後向填充
前向填充指用該列中上一個非空數據填充該列當前的空數據,後向填充則是用該列中下一個非空數據填充該列當前的空數據。
在pandas中,前向填充對應的方法是fillna(method=’ffill’),後向填充對應的方法是fillna(method=’bfill’)。以以下的例子為例如下:
import pandas as pd df = pd.read_csv('data.csv') df['col'].fillna(method='ffill', inplace=True) # 前向填充 df['col'].fillna(method='bfill', inplace=True) # 後向填充
其中,inplace參數指定是否對原數據進行修改。
二、使用特定值填充
在數據填充時,還可以使用特定的值來填充空值。這個特定值可以是任意值,可以是該列的平均數、中位數、眾數等。
在pandas中,使用指定值填充空值對應的方法是fillna(value=填充的值)。以以下的例子為例:
import pandas as pd df = pd.read_csv('data.csv') df['col'].fillna(value=0, inplace=True) # 用0填充
三、多列數據填充
當需要填充多列數據時,可以使用apply()方法。apply()方法可以應用到每一列上,可以使用不同的方式填充每一列數據。
以以下的例子為例:
import pandas as pd df = pd.read_csv('data.csv') fill_values = {'col1': 0, 'col2': 'Unknown', 'col3': df['col3'].median()} df = df.apply(lambda x: x.fillna(fill_values[x.name]), axis=0)
以上代碼中,使用了一個字典fill_values來保存每一列的填充方式,通過apply()方法遍歷每一列並進行填充。
四、小結
通過pandas庫中的fillna()方法,可以靈活地對數據進行填充,可以使用前向填充、後向填充、特定值填充等方式,還可以對多列數據進行一起填充。
原創文章,作者:MSTZB,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/374104.html