标签: pandas-melt

如何融化熊猫数据框?

标签上,我经常看到用户询问有关在 pandas 中融合数据框的问题。我将尝试针对此主题进行规范的问答(自我回答)。

我要澄清:

  1. 什么是熔体?

  2. 我如何使用熔体?

  3. 我什么时候使用熔体?

我看到一些关于融化的热门问题,例如:

所以我将尝试针对这个主题进行规范的问答。



数据集:

我将在这个随机成绩数据集上为随机年龄的随机人提供我所有的答案(更容易解释答案:D):

import pandas as pd
df = pd.DataFrame({'Name': ['Bob', 'John', 'Foo', 'Bar', 'Alex', 'Tom'], 
                   'Math': ['A+', 'B', 'A', 'F', 'D', 'C'], 
                   'English': ['C', 'B', 'B', 'A+', 'F', 'A'],
                   'Age': [13, 16, 16, 15, 15, 13]})


>>> df
   Name Math English  Age
0   Bob   A+       C   13
1  John …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas pandas-melt

6
推荐指数
2
解决办法
172
查看次数

panda-melt 不会将列转变成序列

我读了一个 csv,它有多个列。我想转置

Date                A        B            C
   25/5/2019       25      765.3        896
   26/5/2019       98                  769 
   27/5/2019      27.6    453.2       98.6
Run Code Online (Sandbox Code Playgroud)

我努力了

df2 = pd.melt(df, id_vars=['DateTime'],value_vars=['A','B','C'],
                  var_name='detail',value_name='')
df2 = df2.sort_values(['DateTime'])
Run Code Online (Sandbox Code Playgroud)

它将列更改为行,但我遇到两个问题。

  1. 它还添加了列名称以及我不想要的值。我只需要价值观

  2. 列没有顺序。我想按顺序转置 col 。

电流输出为

Date            final values        
 25/5/2019      A 25                
 25/5/2019      C 896                    
 25/5/2019       B 765.3                  
 26/5/2019       B                    
 26/5/2019       A 253  
 26/5/2019       C 769  
 27/5/2019       C 506
Run Code Online (Sandbox Code Playgroud)

我想按始终以 A、B、C 开头的序列转置 col。预期输出是。

Date            final values        
 25/5/2019       25                
 25/5/2019       765.3                    
 25/5/2019       896                   
 26/5/2019       98                    
 26/5/2019       null 
 26/5/2019       769
 27/5//2019      203
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激。提前致谢

另外一点,我现在需要输出列的最终值。我需要指定每个值属于哪一列,为此我有三列的代码。例如A=100,B=200,C=100。有什么方法可以在每列值旁边打印代码

python pandas pandas-melt

3
推荐指数
1
解决办法
564
查看次数

标签 统计

pandas ×2

pandas-melt ×2

python ×2

dataframe ×1