如何基于序列创建含重复行的Pandas DataFrame
生成含重复行的DataFrame方法
针对你需要基于固定序列创建重复行DataFrame的需求,这里提供几种简洁的实现方式,以生成7行重复的[6,9,12,15]序列为例:
方法一:使用np.tile扩展数组
借助NumPy的tile函数快速重复数组,再转换为DataFrame:
import numpy as np import pandas as pd # 生成基础序列 base_array = np.arange(6, 18, 3) # 将序列沿行方向重复7次,列方向保持不变 repeated_array = np.tile(base_array, (7, 1)) # 转换为DataFrame df = pd.DataFrame(repeated_array) print(df)
方法二:列表推导式构造重复行
直接生成包含7个相同序列的列表,传入DataFrame构造器:
import numpy as np import pandas as pd base_array = np.arange(6, 18, 3) # 生成7个重复的序列元素,转为DataFrame df = pd.DataFrame([base_array for _ in range(7)]) print(df)
方法三:拼接单行DataFrame
先创建单行DataFrame,再通过pd.concat重复拼接:
import numpy as np import pandas as pd base_array = np.arange(6, 18, 3) # 生成单行DataFrame single_row_df = pd.DataFrame([base_array]) # 重复拼接7次,重置索引避免重复 df = pd.concat([single_row_df] * 7, ignore_index=True) print(df)
后续按行添加内容的说明
如果之后需要修改某一行或添加新列,可直接使用loc索引操作,例如替换某一行的内容:
new_series = pd.Series([7, 10, 13, 16]) df.loc[2] = new_series # 替换第3行(索引从0开始)的内容
内容的提问来源于stack exchange,提问作者AlwaysInTheDark
相关产品推荐
相关产品推荐

