我正在处理一个146行x48列的数据框架。这些列是
['Region','Rank 2015','Score 2015','Economy 2015','Family 2015','Health 2015','Freedom 2015','Generosity 2015','Trust 2015','Rank 2016','Score 2016','Economy 2016','Family 2016','Health 2016','Freedom 2016','Generosity 2016','Trust 2016','Rank 2017','Score 2017','Economy 2017','Family 2017','Health 2017','Freedom 2017','Generosity 2017','Trust 2017','Rank 2018','Score 2018','Economy 2018','Family 2018','Health 2018','Freedom 2018','Generosity 2018','Trust 2018','Rank 2019','Score 2019','Economy 2019','Family 2019','Health 2019','Freedom 2019','Generosity 2019','Trust 2019','Score Mean','Economy Mean','Family Mean','Health Mean','Freedom Mean','Generosity Mean','Trust Mean']
我想访问一个特定的行,并想将其转换为以下数据帧
Year Rank Score Family Health Freedom Generosity Trust
0 2015 NaN NaN NaN NaN NaN NaN NaN
1 2016 NaN NaN NaN NaN NaN NaN NaN
2 2017 NaN NaN NaN NaN NaN NaN NaN
3 2018 NaN NaN NaN NaN NaN NaN NaN
4 2019 NaN NaN NaN NaN NaN NaN NaN
欢迎任何帮助&;先谢谢你
另一种方式:
下面是一个利用列表理解的解决方案:
输入:
新的数据帧将是:
假设您只有2015年至2019年的目标年份;并且目标列是已知的
我的程序如下: (1) 定义目标列和年份
target_columns = ['Rank', 'Score', 'Family', 'Health', 'Freedom', 'Generosity', 'Trust'] target_years = ['2015', '2016', '2017', '2018', '2019']
(2)检索特定的行,我假设您的起始数据帧是
initial_dataframe
particular_row = initial_dataframe.iloc[0]
(3)从
particular_row
中检索和重塑信息reshaped_row = { 'Year': target_years }
reshaped_row.update({ column_name: [ particular_row[column_name + ' ' + year_name] for year_name in target_years ] for column_name in target_columns })
(4)将重新整形的行分配给
output_dataframe
output_dataframe = pd.Dataframe(reshaped_row)
相关问题 更多 >
编程相关推荐