这似乎是一个微不足道的问题,但由于某种原因,我无法让代码工作。
首先对于上下文,column[B] 是一个对象数据类型列,包含 0、“A”、“B”。
A | B |
---|---|
0 | |
0 | |
A | |
B |
我不想在该列中出现任何 0,所以我尝试了以下操作。
df['A'] = pd.Series(position).map({ 0: np.nan})
df['A'] = np.where(df['B'] ==0, np.nan, 1)
df['A'] = df['B'].replace(0, np.nan)
df['A'] = df['B'].replace(0, None)
df['A'] = df['B'].replace(np.nan, None)
df['A'] = df['B'].astype(object).replace('0', None)
使用 df.to_excel("ABC.xlsx") 将数据框保存到 Excel 后,0 将保留在 ["A"] 列中。当我运行 print(df["A"]) 时也是如此。我错过了什么吗?
我了解您想要将“B”列中的值 0 替换为“A”列中的 NaN(无)。但是,可能会出现问题,因为“B”列中的值 0 是整数类型,而您尝试将其替换为浮点数类型的 NaN。
import pandas as pd
import numpy as np
# Sample DataFrame
df = pd.DataFrame({'B': [0, 0, 'A', 'B']})
# Replace 0 with NaN in column 'A'
df['A'] = df['B'].replace(0, np.nan)
# Print DataFrame to check
print(df)
# Save DataFrame to Excel
df.to_excel("ABC.xlsx", index=False)