Python 3.x 是否有一种方法可以使用数据帧内容作为索引来更改数据帧的内容范围?

Python 3.x 是否有一种方法可以使用数据帧内容作为索引来更改数据帧的内容范围?,python-3.x,pandas,Python 3.x,Pandas,我有一个大的数据框,我希望根据另一列(不是索引)的值更改特定行中一列的值 我可以为一个实例做这件事,我希望能够为一系列的值做这件事 import pandas as pd INDEX = list(range(1, 11)) LOCATIONS = [3, 10, 6, 2, 9, 1, 7, 5, 8, 4] DATA = [294, 143, 385, 110, 281, 157, 188, 501, 135, 186] # Make dataframe DF = pd.DataFrame

我有一个大的数据框,我希望根据另一列(不是索引)的值更改特定行中一列的值

我可以为一个实例做这件事,我希望能够为一系列的值做这件事

import pandas as pd

INDEX = list(range(1, 11))
LOCATIONS = [3, 10, 6, 2, 9, 1, 7, 5, 8, 4]
DATA = [294, 143, 385, 110, 281, 157, 188, 501, 135, 186]
# Make dataframe
DF = pd.DataFrame(LOCATIONS, columns=['locStuff'], index = INDEX)
DF['data'] = pd.Series(DATA, index=INDEX)

# Location and new value inputs
LOC_TO_CHANGE = 8
NEW_LOC_VALUE = 9

# Changing the value in the dataframe
LOC_IND_TO_ADJUST = DF.index[DF['locStuff'] == LOC_TO_CHANGE].tolist()
LOC_IND_TO_ADJUST_INT = LOC_IND_TO_ADJUST[0]
DF.iloc[LOC_IND_TO_ADJUST_INT -1, 1] = ('%03d' % NEW_LOC_VALUE)
我想输入locStuff[3:6]=来自另一个列表的数据,该列表的长度将与间隔3:6相同。我希望更改dataframe“data”列的内容,以显示locStuff列中的位置。

我相信您需要:

DF.iloc[3:6, 1] = ('%03d' % NEW_LOC_VALUE)
print (DF)
    locStuff data
1          3  294
2         10  143
3          6  385
4          2  009
5          9  009
6          1  009
7          7  188
8          5  501
9          8  135
10         4  186

你能解释更多,你需要什么吗?谢谢你,杰兹雷尔,我无法通过谷歌找到任何东西,仍然不确定在文档中看到这个更好的搜索字符串是什么。非常感谢。