3 回答
TA贡献1789条经验 获得超10个赞
.loc 如果您为它提供第二组标签的列表,则当前有效:
test_df.loc[250, ['B']]
#B 0
#Name: (200, 300], dtype: int64
test_df.loc[250:400, ['B', 'C']]
# B C
#(200, 300] 0 0
#(300, 400] 0 0
test_df.loc[250, ['B']] = 10
print(test_df)
# A B C
#(100, 200] 0 0 0
#(200, 300] 0 10 0
#(300, 400] 0 0 0
TA贡献1878条经验 获得超4个赞
请注意, 的行为loc已得到修复,并将出现在即将发布的 0.24.0 版本中:
In [1]: import pandas as pd; pd.__version__
Out[1]: '0.24.0.dev0+870.g7191af9b4'
In [2]: test_df = pd.DataFrame(
...: 0,
...: index = pd.IntervalIndex.from_breaks([100, 200, 300, 400]),
...: columns = ['A', 'B', 'C']
...: )
In [3]: test_df
Out[3]:
A B C
(100, 200] 0 0 0
(200, 300] 0 0 0
(300, 400] 0 0 0
In [4]: test_df.loc[250, 'B']
Out[4]: 0
In [5]: test_df.loc[250, 'B'] = 100
In [6]: test_df
Out[6]:
A B C
(100, 200] 0 0 0
(200, 300] 0 100 0
(300, 400] 0 0 0
添加回答
举报