Python 在panda dataframe中使用多列作为索引

Python 在panda dataframe中使用多列作为索引,python,pandas,Python,Pandas,我很抱歉,如果我的问题是初步的或已经得到了回答,我仍然是非常新的编程 我正试图编写一个python脚本来自动处理一堆.csv文件,并根据ID所在的列将数据写入不同的列 比如说, import pandas as pd df = pd.DataFrame({'ID1': ["A12", "A13", "A14"],'Data1': [0,0,0], 'ID2': ["B12", "B13", "B14"],'Data2': [0,0,0],}) 给予

我很抱歉,如果我的问题是初步的或已经得到了回答,我仍然是非常新的编程

我正试图编写一个python脚本来自动处理一堆.csv文件,并根据ID所在的列将数据写入不同的列

比如说,

import pandas as pd
df = pd.DataFrame({'ID1': ["A12", "A13", "A14"],'Data1': [0,0,0], 
               'ID2': ["B12", "B13", "B14"],'Data2': [0,0,0],})
给予

      ID1  Data1  ID2  Data2
0  A12      0  B12      0
1  A13      0  B13      0
2  A14      0  B14      0
假设我有B14的数据,我希望数据显示在
Data2
中,与
B14
位于同一行。使用
df.iloc
是不可能的,因为我有大约400个数据集在8列上排列

我期望的结果是

      ID1  Data1  ID2  Data2
0  A12      0  B12      0
1  A13      0  B13      0
2  A14      0  B14      somedata

有点不确定你在问什么。如果要将数据插入列Data2中的数据框,其中ID2为B14,可以按如下方式执行:

df.loc[df.ID2 == "B14", "Data2"] = 1
DataFrame现在是:

   ID1  Data1  ID2  Data2
0  A12      0  B12      0
1  A13      0  B13      0
2  A14      0  B14      0
         Data1  Data2
ID1 ID2              
A12 B12      0      0
A13 B13      0      0
A14 B14      0      0
添加多级索引:

df.set_index(['ID1', 'ID2'], inplace=True)
DataFrame现在是:

   ID1  Data1  ID2  Data2
0  A12      0  B12      0
1  A13      0  B13      0
2  A14      0  B14      0
         Data1  Data2
ID1 ID2              
A12 B12      0      0
A13 B13      0      0
A14 B14      0      0
查询二级索引:

df2.xs('B14', level=1)
结果:

     Data1  Data2
ID1              
A14      0      0

嗨,我不明白你的问题:你说的“我希望数据显示在数据2中与B14在同一行”是什么意思?你能同时添加你想要的输出吗?对不起,模棱两可,基本上我希望数据显示在B14的右边,我在编辑中添加了我想要的结果