【问题标题】:How do I make a dataframe in python, using different series?如何使用不同的系列在 python 中制作数据框?
【发布时间】:2019-03-11 21:38:38
【问题描述】:

我正在尝试使用两个列出平均值的数组来制作数据框。我想合并的另外两组值是从另一个数据集中提取的。

这是我尝试过的:

column_a = data_set['column_1']
column_b = data_set['column_2']
df = pd.DataFrame([column_a, column_b, average_1, average_2])
print(df)

输出的格式很奇怪:

                                     0            1            2   
column_a                  North Europe  East Europe  West Europe   
average_1                          143      100.755        175.1   
average_2                        297.9       171.21       227.55   
column_b                        79.265      60.8078       76.468

【问题讨论】:

  • 您现在所拥有的究竟有什么问题?转置dataframe是不是像df=df.T这么简单?

标签: python dataframe jupyter-notebook data-science series


【解决方案1】:

这就是你要找的吗?

import pandas as pd

d = ({
    'column_a' : ['North Europe','East Europe','West Europe'],  
    'average_1' : [143, 100.755, 175.1],  
    'average_2' : [297.9, 171.21, 227.55 ],                   
    'column_b' : [79.265, 60.8078, 76.468],                                                                         
    })

data_set = pd.DataFrame(d)

column_a = data_set['column_a']
column_b = data_set['column_b']
average_1 = data_set['average_1']
average_2 = data_set['average_2']

df = pd.DataFrame([column_a, column_b, average_1, average_2])

df = df.T
print(df)

       column_a column_b average_1 average_2
0  North Europe   79.265       143     297.9
1   East Europe  60.8078   100.755    171.21
2   West Europe   76.468     175.1    227.55

或者您可以使用pd.concat 代替:

import pandas as pd

d = ({
    'column_a' : ['North Europe','East Europe','West Europe'],                    
    'column_b' : [79.265, 60.8078, 76.468],                                                                         
     })

data_set1 = pd.DataFrame(d)

d = ({  
    'average_1' : [143, 100.755, 175.1],  
    'average_2' : [297.9, 171.21, 227.55],                                                                                          
     })

data_set2 = pd.DataFrame(d)

column_a = data_set1['column_a']
column_b = data_set1['column_b']
average_1 = data_set2['average_1']
average_2 = data_set2['average_2']

df = pd.concat([column_a, column_b, average_1, average_2], axis = 1)

print(df)

       column_a column_b average_1 average_2
0  North Europe   79.265       143     297.9
1   East Europe  60.8078   100.755    171.21
2   West Europe   76.468     175.1    227.55

【讨论】:

    猜你喜欢
    • 2021-09-22
    • 1970-01-01
    • 2017-05-18
    • 1970-01-01
    • 1970-01-01
    • 2019-12-30
    • 2015-11-26
    • 2023-03-11
    • 2019-03-08
    相关资源
    最近更新 更多