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