python - 堆栈/取消堆栈时如何不丢失 NaN 行?

标签 python pandas

我有一组从 1945 年到 2020 年运行的数据,涉及两个国家生产的一系列 Material 。为了创建一个数据框,我连接了不同的 df。

df = pd.concat([ProdCountry1['Producta'], [ProdCountry2['Producta'], [ProdCountry1['Productb'],  [ProdCountry2['Productb'], ...] ...)

当axis=1时,按键和名称等

我得到了这样的表格:

enter image description here

然后我堆叠这个数据框以获取行索引(年份)中的 NaN,但随后我丢失了 1946/1948/1949 年,这些年份仅包含 NaN。

df = df.stack()

这是我拆开它时得到的 df 类型:

enter image description here

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

预先感谢您的帮助。

最佳答案

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

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

参见 pandas.DataFrame.stack 的文档

关于python - 堆栈/取消堆栈时如何不丢失 NaN 行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65051778/

相关文章:

python - Ubigraph 的免费替代品

python - 使用 decode() 与正则表达式对这个字符串进行转义

python - 如何使 ConfigParser 返回默认值而不是引发 NoOptionError?

python - ValueError : Length of values does not match length of index | Pandas DataFrame. 唯一()

python - 对来自 2 个数据帧 : Python Pandas 的匹配列执行数学运算

python - Pandas:推断列名称的智能方法

python - 连接到 DataFrame 将给出两个单独的起始索引

python - pandas 棘手的列内逻辑

python - Pandas Dataframe 索引问题

python - 根据相同的标题前缀从多个 DataFrame 中选择列