如何从单列DataFrame创建空的方形DataFrame?
从单列年份DataFrame创建空方形DataFrame
你需要把原DataFrame中的年份同时用作新DataFrame的行索引和列名,生成一个全空的矩阵。这里有两种简单直接的方法:
方法1:提取年份列表构建
先把原df里的年份提取成列表,再用这个列表同时定义新df的行和列:
import pandas as pd # 你的原数据 data = {'YEAR': [2020,2021,2022,2023,2024,2025,2026,2027,2028,2029,2030]} df = pd.DataFrame(data) # 提取年份列表 years = df['YEAR'].tolist() # 创建空方形DataFrame,行和列均为年份,默认填充空值NaN square_df = pd.DataFrame(index=years, columns=years)
方法2:直接复用原DataFrame的列值
不需要单独提取列表,直接用原df的YEAR列值作为新df的索引和列名:
# 直接基于原df的YEAR列生成空方形DataFrame square_df = pd.DataFrame(index=df['YEAR'], columns=df['YEAR'])
以上两种方法都会生成11×11的空DataFrame,行和列都是2020到2030的年份,单元格默认填充NaN。如果需要用空字符串代替NaN,可以在创建时指定data参数:
# 创建值为空字符串的方形DataFrame square_df = pd.DataFrame(index=years, columns=years, data='')
内容的提问来源于stack exchange,提问作者Aragorn64
相关产品推荐
相关产品推荐

