大家
我尝试了不同的方法,但没有一个给我所需的结果。我肯定在这里做错了什么。
想象以下数据框:
import pandas as pd
df = pd.DataFrame(columns = ['A','B','C'], index = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'])
df.loc[['Monday', 'Friday'], ['A', 'C']] = 19
我想打印所有不是 NaN 的列和行。输出应如下所示:
A C
星期一 19 19 星期五 19 19
请帮忙。
我已经尝试过这个,但它不起作用: df[(df.iloc[::]) & (df.isnull() == False)] df = df[df.df.isna()]
您的代码:
import pandas as pd
df = pd.DataFrame(columns = ['A','B','C'], index = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'])
df.loc[['Monday', 'Friday'], ['A', 'C']] = 19
print(df)
输出:
A B C
Monday 19 NaN 19
Tuesday NaN NaN NaN
Wednesday NaN NaN NaN
Thursday NaN NaN NaN
Friday 19 NaN 19
将其添加到您的代码中:
stacked = df.stack()
stacked = stacked.dropna()
df = stacked.unstack()
print(df)
输出:
A C
Monday 19 19
Friday 19 19