如何归因于变量指向的 pandas Dataframe 的一部分?
How to attribute to a slice of a pandas Dataframe pointed by a variable?
以下命令显示了如何将属性分配给切片:
In [81]: a=pd.DataFrame([[1,2,3],[4,5,6],[7,8,9]])
In [82]: a
Out[82]:
0 1 2
0 1 2 3
1 4 5 6
2 7 8 9
In [83]: a.loc[1] = [10,11,12]
In [84]: a
Out[84]:
0 1 2
0 1 2 3
1 10 11 12
2 7 8 9
但是,我需要将其归因于变量指向的切片。我试过了
In [91]: row2 = a.loc[2]
In [92]: row2 = [13,14,15]
In [93]: a
Out[93]:
0 1 2
0 1 2 3
1 10 11 12
2 7 8 9
In [94]: row2
Out[94]: [13, 14, 15]
此时,我希望"a"的值为
In [96]: a
Out[96]:
0 1 2
0 1 2 3
1 10 11 12
2 13 14 15
很明显,第 2 行被视为切片的副本,而不是切片本身。
所以,我的问题是:如何创建指向切片的变量,并且可以将值用于原始矩阵元素的属性?
使用slice赋值:
row2[:] = [13,14,15]
这将更新 row2 的内容而不是它引用的对象。
有关详细信息,请参阅 How assignment works with python list slice。
以下命令显示了如何将属性分配给切片:
In [81]: a=pd.DataFrame([[1,2,3],[4,5,6],[7,8,9]])
In [82]: a
Out[82]:
0 1 2
0 1 2 3
1 4 5 6
2 7 8 9
In [83]: a.loc[1] = [10,11,12]
In [84]: a
Out[84]:
0 1 2
0 1 2 3
1 10 11 12
2 7 8 9
但是,我需要将其归因于变量指向的切片。我试过了
In [91]: row2 = a.loc[2]
In [92]: row2 = [13,14,15]
In [93]: a
Out[93]:
0 1 2
0 1 2 3
1 10 11 12
2 7 8 9
In [94]: row2
Out[94]: [13, 14, 15]
此时,我希望"a"的值为
In [96]: a
Out[96]:
0 1 2
0 1 2 3
1 10 11 12
2 13 14 15
很明显,第 2 行被视为切片的副本,而不是切片本身。
所以,我的问题是:如何创建指向切片的变量,并且可以将值用于原始矩阵元素的属性?
使用slice赋值:
row2[:] = [13,14,15]
这将更新 row2 的内容而不是它引用的对象。
有关详细信息,请参阅 How assignment works with python list slice。