Pandas日期索引DataFrame混合行位置与列标签切片的替代方案
解决Pandas混合行位置序号与列标签定位修改的问题
因为ix方法已被弃用,你可以用以下两种方法实现混合行位置序号和列标签的定位修改:
方法一:结合iloc与列位置索引
先通过列名获取其位置索引,再用iloc按行位置切片定位:
# 获取"name3"列的位置索引 col_position = df.columns.get_loc("name3") # 修改第20至30行的"name3"列值(行位置从0开始,第20行对应19,第30行对应29) df.iloc[19:30, col_position] = 你的目标值
方法二:结合loc与行索引标签
先提取目标行位置对应的索引标签,再用loc结合列名定位:
# 获取第20至30行对应的Date索引标签 target_row_labels = df.index[19:30] # 定位并修改对应值 df.loc[target_row_labels, "name3"] = 你的目标值
注意事项
- Pandas的行位置是从0开始计数的,所以第20行对应位置序号19,第30行对应位置序号29;切片采用左闭右开规则,
19:30会包含位置19到29的所有行。
内容的提问来源于stack exchange,提问作者smaillis
相关产品推荐
相关产品推荐

