Python 使用dataframe列和单元格向请求馈送数据

Python 使用dataframe列和单元格向请求馈送数据,python,pandas,Python,Pandas,我有这样一个数据帧: userName _2643698_1 _2643699_1 _2643700_1 _2643701_1 _2643702_1 _test2 5.0 4.8 3.75 3.6 2.2 _test3 4.0 5.0 4.40 5.0 5.0 _test4

我有这样一个数据帧:

    userName  _2643698_1  _2643699_1  _2643700_1  _2643701_1  _2643702_1  
    _test2         5.0         4.8        3.75         3.6         2.2   
    _test3         4.0         5.0        4.40         5.0         5.0   
    _test4         5.0         4.4        5.00         5.0         4.0
三个唯一的用户,对应于用户的5个唯一列,以及每个列/每个用户的唯一分数。 我需要使用以下逻辑将此数据输入修补程序请求:

根据用户名,使用该用户的分数更新每个键(列标题)

例如:

patch = change_data(userName, colId, score)
目标是更新所有三个用户的数据,每个用户在相同的5列中都有一个分数(列标题如_263698_1,用户在该列中的分数)

我正在处理的真实数据集有78个用户和14个独特的列,每个用户都有分数

我一直在玩很多在网上建议的选项,以获得我需要的逻辑尽可能有效,任何建议将不胜感激

谢谢。

使用
melt()

所以新的_df看起来像这样

   userName       colId  value
0    _test2  _2643698_1   5.00
1    _test3  _2643698_1   4.00
2    _test4  _2643698_1   5.00
3    _test2  _2643699_1   4.80
4    _test3  _2643699_1   5.00
5    _test4  _2643699_1   4.40
6    _test2  _2643700_1   3.75
7    _test3  _2643700_1   4.40
8    _test4  _2643700_1   5.00
9    _test2  _2643701_1   3.60
10   _test3  _2643701_1   5.00
11   _test4  _2643701_1   5.00
12   _test2  _2643702_1   2.20
13   _test3  _2643702_1   5.00
14   _test4  _2643702_1   4.00
然后您可以迭代新的_-df,并在每一行上调用change_数据

for row in new_df.itertuples(index=False):
    patch = change_data(row.userName, row.colId, row.value)
    # do something with patch 
for row in new_df.itertuples(index=False):
    patch = change_data(row.userName, row.colId, row.value)
    # do something with patch