I am attempting to analyse high school attendance and behaviour data. I have a raw excel data sheet as shown in the image. enter image description here

我搞不懂如何给它编索引.基本上前三栏应该是"学生姓名、班级和出勤率".那么所有后续列都是一个2级索引,第一个索引是"Date",子索引是"Period Name".

我怎样才能删除适当的行和列来实现这一点,并且索引是正确的.非常感谢

格雷厄姆

我真的不知道该try 什么?从历史上看,我已经将我想要的东西"硬连接"到Python数组中,但我真的想更熟练地使用数组,并将其视为一个可以继续的好项目.

推荐答案

您可以按read_excel键按原样加载Electron 表格,然后按post-process键将其加载:

raw = pd.read_excel("file.xlsx")

idx_names = ["Student Name", "Class", "Percent Attendance"]
left = raw.iloc[2:, :3].set_axis(idx_names, axis=1)

col_mux = pd.MultiIndex.from_arrays(raw.iloc[:2, 3:].ffill(axis=1).to_numpy())
right = raw.iloc[2:, 3:]

df = (pd.concat([left, right], axis=1)
        .set_index(idx_names).set_axis(col_mux, axis=1))

发帖主题:Re:Kolibrios

# df.index.nlevels # 2
# df.columns.nlevels # 3

print(df)

                                      19/9/2023                         20/9/2023            
                                             AM PM   P1 P2 P3   P4   P5        AM PM P1 P2 P3
Student Name Class Percent Attendance                                                        
Student A    7M    100%                       /  \    /  /  /  NaN    /         /  \  /  /  /
Student B    12H   100%                       /  \  NaN  /  N  NaN  NaN         /  \  /  /  /
Student C    8R    100%                       /  \    /  /  /  NaN  NaN         /  \  /  /  /

[3 rows x 12 columns]

Python相关问答推荐

如何循环循环的每个元素并过滤掉Python rame中的条件

在Transformer中使用LabelEncoding的ML模型管道

Tkinter -控制调色板的位置

基本链合同的地址是如何计算的?

使用多个性能指标执行循环特征消除

如何使用entry.bind(FocusIn,self.Method_calling)用于使用网格/列表创建的收件箱

Python plt.text中重叠,包adjust_text不起作用,如何修复?

jit JAX函数中的迭代器

Locust请求中的Python和参数

如何在BeautifulSoup中链接Find()方法并处理无?

DataFrame groupby函数从列返回数组而不是值

根据在同一数据框中的查找向数据框添加值

为什么我的Python代码在if-else声明中的行之前执行if-else声明中的行?

重新匹配{ }中包含的文本,其中文本可能包含{{var}

如何使用根据其他值相似的列从列表中获取的中间值填充空NaN数据

梯度下降:简化要素集的运行时间比原始要素集长

Stacked bar chart from billrame

如何更新pandas DataFrame上列标题的de值?

Django admin Csrf令牌未设置

使用BeautifulSoup抓取所有链接