【问题标题】:Why am I getting only NaN values in all columns in Jupyter Notebook?为什么我在 Jupyter Notebook 的所有列中只获得 NaN 值?
【发布时间】:2019-06-16 00:06:48
【问题描述】:

这就是 datset_1 的样子, 但是当我如下图所示制作数据透视表时,我只得到NaN 作为所有列中的卷。

monthly_sales_data = pd.pivot_table(dataset_1, values = "Weekly_Sales", columns = "Year", index = "Month")
monthly_sales_data = monthly_sales_data.reindex(index = ['Jan','Feb','Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'])
monthly_sales_data

我只获取整个 DataFrame 的 NaN 值:

【问题讨论】:

  • 您正在使用索引中不存在的值重新建立索引,因此 NaN 值,您的索引已经是月份列,它是 int,您要做什么?你想按月和年求和吗?
  • 您假设代码实现了第 1 个月 = "Jan"、2 = "Feb" 等等。您正在创建索引,但 pandas 不知道如何处理这些
  • monthly_sales_data = monthly_sales_data.reindex(index = [1,2,3,4,5,6,7,8,9,10,11,12]) 会发生什么?
  • 是的。我正在尝试根据每个月的总 Weekly_Sales 值获取不同年份的值。 @EdChum
  • 旋转 df 后,您只需执行 monthly_sales_data.groubpy(level=0).sum() 即可覆盖此 monthly_sales_data.index = ['Jan','Feb','Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] 之后的索引值

标签: python python-3.x pandas dataframe nan


【解决方案1】:

改变这个:

monthly_sales_data = monthly_sales_data.reindex(index = ['Jan','Feb','Mar',
'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'])

到这里:

monthly_sales_data = monthly_sales_data.reindex(index = [1,2,3,4,5,6,7,8,9,10,11,12])

【讨论】:

  • 问题依旧。仅获取 NaN 值。我还想提一下,它之前可以正常工作,但后来我复制了笔记本以刷新代码,现在它无法正常工作。
  • @KripaluSar 你能提供一个样本数据吗?
  • 刷新后就可以了。但我可以和你分享两个不同的案例。
  • @KripaluSar 刷新后有用吗?如果有帮助,请随时分享案例。
  • 如何分享不同的结果? @user5173426
猜你喜欢
  • 2019-11-04
  • 1970-01-01
  • 1970-01-01
  • 2019-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-11
  • 2013-11-26
相关资源
最近更新 更多