python - 通过使用元组索引的 loc 选择通过赋值填充空数据框

标签 python pandas dataframe assign

为什么会这样?

a=pd.DataFrame()
a.loc[1,2]=0

>
     2
1  0.0

而且,这行不通吗?

a=pd.DataFrame()
a.loc[(1,2),2]=0
>
KeyError: '[1 2] not in index'

后者是我想做的。我将通过带有元组指定索引的 loc 选择,从没有值、0 行、0 列的数据框中通过赋值来填充值。

最佳答案

如果您的数据框已经具有多索引,则使用元组作为索引将起作用:

import pandas as pd

# Define multi-index
index = pd.MultiIndex.from_product([[],[]], names=['first', 'second'])
# or
# index = pd.MultiIndex.from_tuples([], names=['first', 'second']) 

a = pd.DataFrame(index=index)
a.loc[(1,2), 2]=0

#                 2
# first second     
# 1.0   2.0     0.0

关于python - 通过使用元组索引的 loc 选择通过赋值填充空数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50277574/

相关文章:

python - 如何删除 pandas 中 count 和 sum 为 1 的行

python - MySQL 并锁定一个表,读取,然后截断

python - 如何使用 python-pandas 将数据框快速转换为大矩阵?

python - 获取两个坐标之间的距离时出错

pandas - XLRDError : Unsupported format, 或损坏的文件

list - 从列表创建数据框

r - 拆分 data.frame 行并打乱其顺序

python - 句子中最常见的单词按类别分组

python - 导入错误:没有名为 'torchvision.datasets.mnist' 的模块

python - 从子外部调用父方法