Python 熊猫-南';未被udf所取代
我有一个数据框,其中nan在多个列中出现,并且正在通过这样一个函数来实现它Python 熊猫-南';未被udf所取代,python,pandas,Python,Pandas,我有一个数据框,其中nan在多个列中出现,并且正在通过这样一个函数来实现它 def Change_Data_Type_DataFrame (AnyPandasDataFrame): for i in range(0, AnyPandasDataFrame.shape[1]): Required_Column_Name = (AnyPandasDataFrame.columns[i]) AnyPandasDataFrame[Required_Co
def Change_Data_Type_DataFrame (AnyPandasDataFrame):
for i in range(0, AnyPandasDataFrame.shape[1]):
Required_Column_Name = (AnyPandasDataFrame.columns[i])
AnyPandasDataFrame[Required_Column_Name] = AnyPandasDataFrame[Required_Column_Name].astype(str)
print(LookUp_df)
AnyPandasDataFrame[Required_Column_Name] = AnyPandasDataFrame[Required_Column_Name].replace(np.nan,"FILLINGTHENAS")
print(LookUp_df)
AnyPandasDataFrame[Required_Column_Name] = AnyPandasDataFrame[Required_Column_Name].astype(str).replace('\.0', '', regex=True)
return (AnyPandasDataFrame)
我不确定我的功能哪里出了问题
首先,您可以通过一个步骤转换
数据帧
的所有列:
df = df.astype(str)
然后,您可以使用fillna
方法替换DataFrame
中的NaN
:
df = df.fillna("FILLINGTHENAS")
您的函数将如下所示:
def change_data_type(df):
df = df.astype(str)
df = df.fillna("FILLINGTHENAS")
for column in df.columns:
df[column] = df[column].replace('\.0', '', regex=True)
return df
不确定正则表达式部分,我没有任何数据来尝试你正在做的事情。你可以检查数据帧的
fillna
方法。此外,在python中,我们不使用CamelCase,而是使用snake\u case:AnyPandasDataFrame
=>任何数据帧
(df
在那种情况下更好)看起来像,当我把它换成snake_箱时,它正在工作。