将多行元组转换为Python中的Dataframe

问题描述 投票:0回答:2

我有一系列元组(如下所示),它们是作为 python 程序中特定步骤的输出生成的。该值存储在名为

out_put
的变量中,并且
print(out_put)
准确显示了以下结果。

('20240510', '女', '21', '15')

('20240510', '男', '118', '96')

我想将其转换为数据框,以便我可以加载到表(bigquery)中。数据框应该喜欢

index    Date_YYYYMMDD    Gender    Sessions    User
0        20240510         female    21          15
1        20240510         male      118         96

如有任何帮助,我们将不胜感激。

谢谢

我已经尝试过了

print('List')
lst = list(out_put)  
print(lst)
print('Dataframe')
df = pd.DataFrame(lst)
print(df)  

它只是从结果中获取最后一行并转置该行。

python dataframe tuples
2个回答
1
投票

您只需将

out_put
数据收集到一个列表中,然后您可以将该列表直接转换为具有所需列名称的
DataFrame

import pandas as pd


# collect your tuples into a list
data = [
    ('20240510', 'female', '21', '15'),
    ('20240510', 'male', '118', '96'),
]

# create DataFrame using data
df = pd.DataFrame(
    data,
    columns=['Date_YYYYMMDD', 'Gender', 'Sessions', 'User'],
)

print(df)  # here's the result
#   Date_YYYYMMDD  Gender Sessions User
# 0      20240510  female       21   15
# 1      20240510    male      118   96

0
投票

你最好使用数据结构列表而不是元组。 尝试下面的代码:

import pandas as pd
 
data = {'Date_YYYYMMDD': [20240510, 20240510],
        'Gender': ['female', 'male'],
        'Sessions': [21, 118],
        'User': [15, 96]}
 

df = pd.DataFrame(data) 
print(df)
© www.soinside.com 2019 - 2024. All rights reserved.