Python 堆叠/取消堆叠时,如何避免与NaN一起松开行?

Python 堆叠/取消堆叠时,如何避免与NaN一起松开行?,python,pandas,Python,Pandas,我有一组从1945年到2020年的数据,是关于两国生产的一系列材料的。要创建数据帧,我需要使用不同的df df = pd.concat([ProdCountry1['Producta'], [ProdCountry2['Producta'], [ProdCountry1['Productb'], [ProdCountry2['Productb'], ...] ...) 轴=1时,键和名称等 我有这样的桌子: 然后我堆叠这个数据框以获得行中的NAN索引(年份),但随后我失去了1946/194

我有一组从1945年到2020年的数据,是关于两国生产的一系列材料的。要创建数据帧,我需要使用不同的df

df = pd.concat([ProdCountry1['Producta'], [ProdCountry2['Producta'], [ProdCountry1['Productb'],  [ProdCountry2['Productb'], ...] ...)
轴=1时,键和名称等

我有这样的桌子:

然后我堆叠这个数据框以获得行中的NAN索引(年份),但随后我失去了1946/1948/1949年,这些年份只包含NAN

df = df.stack()
以下是我在取消堆叠时得到的df类型:

所以,我的问题是:我如何避免在我的df中失去NaN行的年份?我需要它们插入并在我的笔记本中稍后工作


提前感谢您的帮助。

让我们试试dropna

df = df.dropna(how='all')

堆栈方法有一个
dropna
参数,将其作为
false

 DataFrame.stack(level=- 1, dropna=True)
Cf文档