如何用Python将DataFrame列中每4行合并为新列单行?
合并DataFrame中每4行数据为单行字符串列
针对你给出的DataFrame,要把A1列每4行的数值拼接成字符串,生成新列A2,最终得到4行数据,可以这么做:
首先定义原始DataFrame:
import pandas as pd df = pd.DataFrame({ 'A1': [1,0,0,0,1,1,0,0,1,0,0,0,1,1,1,0] })
然后执行以下代码生成目标列A2:
# 先把数值转成字符串,再按每4行分组拼接 df['A2'] = df['A1'].astype(str).groupby(df.index // 4).agg(''.join)
查看A2列的结果:
print(df['A2'])
输出结果就是你想要的:
0 1000 1 1100 2 1000 3 1110 Name: A2, dtype: object
代码说明
astype(str):把A1列的整数转换成字符串类型,这样才能直接拼接df.index // 4:通过索引整除4生成分组标识,让每4行数据归为一组(索引0-3为组0,4-7为组1,以此类推)agg(''.join):对每个分组里的字符串执行拼接操作,把4个字符连成一个完整的字符串
内容的提问来源于stack exchange,提问作者Rupak
相关产品推荐
相关产品推荐

