Python面板数据

标签 python panel

我通常使用 Stata,但现在想使用 Python,并拼命尝试创建 pandel 数据集。我尝试了 pandas.panel 但没有让它工作。 我有以下数据集:

  date  id1   id2
  2000  100   50
  2001  101   48

现在我想让它看起来像这样:

    date  id   variable
    2000   1    100
    2000   2    101
    2001   1    50
    2001   2    48

接下来,我想确定一个时间和 id 变量来运行一些面板功能。我也尝试过 dataframe.stack(),但这不会根据 id 排序。我该如何做到这一点,还是我在这里缺少 pandas 中一些不错的时间序列函数?

很抱歉问这个问题。我确信这个问题已经在某个地方得到了解答,但我现在尝试了几个小时,但无法弄清楚。

最佳答案

给定输入数据:

data = [
    {"date": 2000, "id1": 100, "id2": 50},
    {"date": 2001, "id1": 101, "id2": 48}
]

data = {
    "date": [2000, 2001],
    "id1": [100, 101],
    "id2": [50, 48],
}

这样

df = pd.DataFrame(data)
df

enter image description here

"melt "pandas 数据帧:

melted = pd.melt(df, id_vars="date", var_name="id", value_name="variable")

# Optional amendments
melted["id"] = melted["id"].str.replace("id", "")
melted.sort_values(by="date", inplace=True)
melted.reset_index(inplace=True, drop=True)

melted

融化输出

enter image description here

其他引用文献:Wickham, H. Tidy Data ,《统计软件杂志》,2014 年 10 月 59 日。

关于Python面板数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43848730/

相关文章:

python - django prefetch_related 跨多个具有过滤条件的一对多关系

c# - 如何确保控件不在面板内?

asp.net - ASP.NET 的 MultiView 控件的适当用途是什么?

.net - 使用水平滚动条的滚动面板

python - 使用 glob 获取文件名

python - 在Python中使用正则表达式更改空格

python - 类型错误 : unhashable type: 'slice' for pandas

r - Hausman 对 lme4 中的 "glmer"的规范测试

c# - 如何在 C# 中创建横幅面板?

python - PIL.ImageTk.PhotoImage() 性能不一致