如何将特定结构的DataFrame转换为带合适索引的目标格式?
重塑DataFrame:将两行一组的结构转换为标签-数据行格式
原始DataFrame结构
0 1 2 0 A A A 1 26,2% 17,2% 12,5% 2 B B B 3 - - - 4 C C C 5 10,7% - - 6 D D D 7 - - - 8 E E E 9 - - - 10 F F F 11 12,6% 24,4% 27,7% ...
目标格式
col1 col2 col3 A 26,2% 17,2% 12,5% B - - - C 10,7% - - D - - - E - - - F 12,6% 24,4% 27,7% ...
实现方法
直接通过行切片提取标签和数据,组合成新的DataFrame即可,代码如下:
import pandas as pd # 假设原始DataFrame已加载为df # 提取偶数行的第一列作为新索引(每行的三个标签值一致,取第一列即可) new_index = df.iloc[::2, 0] # 提取奇数行作为数据部分 data_rows = df.iloc[1::2] # 创建目标DataFrame并设置列名 result = pd.DataFrame(data_rows.values, index=new_index, columns=['col1', 'col2', 'col3']) # 查看结果 print(result)
说明
df.iloc[::2, 0]:选取所有偶数索引行(0、2、4...)的第一列,作为新DataFrame的行标签df.iloc[1::2]:选取所有奇数索引行(1、3、5...),这些行对应每个标签的数据- 最后将数据和索引组合,并重命名列名为
col1、col2、col3
内容的提问来源于stack exchange,提问作者Jacques
相关产品推荐
相关产品推荐

