python - Pandas - 将具有多列的多个系列转换为数据框

标签 python pandas

如何将系列转换为 DataFrame?

问题是映射Series和DataFrame的列名称

我有一个这样的系列:

(使用 groupby 和 concat 函数制作)

CUS_ID  DAY
2       MON    0.176644
        TUE    0.246489
        WED    0.160569
        THU    0.234109
        FRI    0.170916
...
dtype: float64

我想要得到的是这样的:

CUS_ID  MON       TUE       WED       THU       FRI
2       0.176644  0.246489  0.160569  0.234109  0.170916

类型必须是DataFrame..!

有什么方法可以不使用“for”语句来获取它吗?

最佳答案

您可以简单地取消索引的堆栈

s=pd.Series(data=[1,2,3,4,5],index=[[2,2,2,2,2],['mon','tue','wed','thu','fri']])
2  mon    1
   tue    2
   wed    3
   thu    4
   fri    5

s.unstack()
    fri mon thu tue wed
2   5   1   4   2   3

关于python - Pandas - 将具有多列的多个系列转换为数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54445614/

相关文章:

python - 我如何将变量 names_and_ranks 分配给列表,每个元素等于城市名称及其对应的排名?

python - 在 __str__ 下调用 print(self) 会抛出 RecursionError

python - 删除重复的 Pandas 和 SQLAlchemy

追加数据帧时出现 Pandas 错误 : invalid dtype determination in get_concat_dtype

python - 从 pandas 系列列表中获取唯一值

python - Pandas Dataframe reshape ,通过将列转换为列索引,但保持列索引的其余部分不变

python - 如何从数据框中选择给定列中的值不为 None 的行?

python - Sqlalchemy - 如何在 Oracle 数据库中指定所有者

python - 仅替换数据框中列的第一个字符

python - 无返回值的单元测试函数