我有一个样本数据框,下面有两个值(总线和车+小巴)mode column
我有两个问题,第一个是如何将其分解为两个数据帧,单个值为如下所示。第二个问题是因为我有一个数据框列表,其中一些以input
格式出现,我怎么能写出条件语句呢。
输入
Dest a b c
Orig Variable Time Mode
1 x y Bus 5.00 17.32 12.61
Car+Minibus 0.87 15.34 12.01
2 x y Bus 5.00 14.72 10.15
Car+Minibus 10.47 3.03 11.05
3 x y Bus 14.72 5.00 15.98
Car+Minibus 11.64 11.25 2.08
4 x y Bus 15.15 14.62 5.94
Car+Minibus 12.02 9.25 5.80
输出:
Dest a b c
Orig Variable Time Mode
1 x y Bus 5.00 17.32 12.61
2 x y Bus 5.00 14.72 10.15
3 x y Bus 14.72 5.00 15.98
4 x y Bus 15.15 14.62 5.94
Dest a b c
Orig Variable Time Mode
1 x y Car+Minibus 0.87 15.34 12.01
2 x y Car+Minibus 10.47 3.03 11.05
3 x y Car+Minibus 11.64 11.25 2.08
4 x y Car+Minibus 12.02 9.25 5.80
答案 0 :(得分:1)
我认为您需要检查MultiIndex
的第四级并按boolean indexing
过滤:
mask = df.index.get_level_values(3) == 'Bus'
df1 = df[mask]
df2 = df[~mask]
但是如果想要使用DataFrame
s的列表:
dfs = [df11,df12,df13]
for df in dfs:
mask = df.index.get_level_values(3) == 'Bus'
df1 = df[mask]
print (df1)
df2 = df[~mask]
print (df2)