팬더에서 DataFrame의 하위 세트에 값을 할당하는 일반적인 방법이 있습니까? 직접 액세스 할 수있는 수백 개의 행과 열이 있지만 각 행, col 쌍을 반복하지 않고 값을 편집하는 방법을 파악하지 못했습니다. 예를 들어 :인덱스를 사용하여 팬더 DataFrame 편집
In [1]: import pandas, numpy
In [2]: array = numpy.arange(30).reshape(3,10)
In [3]: df = pandas.DataFrame(array, index=list("ABC"))
In [4]: df
Out[4]:
0 1 2 3 4 5 6 7 8 9
A 0 1 2 3 4 5 6 7 8 9
B 10 11 12 13 14 15 16 17 18 19
C 20 21 22 23 24 25 26 27 28 29
In [5]: rows = ['A','C']
In [6]: columns = [1,4,7]
In [7]: df[columns].ix[rows]
Out[7]:
1 4 7
A 1 4 7
C 21 24 27
In [8]: df[columns].ix[rows] = 900
In [9]: df
Out[9]:
0 1 2 3 4 5 6 7 8 9
A 0 1 2 3 4 5 6 7 8 9
B 10 11 12 13 14 15 16 17 18 19
C 20 21 22 23 24 25 26 27 28 29
나는 여기에서 일어나고있는 것은 내가 원래 DataFrame에 할당 할 수 없습니다 의미하는보기보다는 사본을 얻고 있다고 믿습니다. 그게 내 문제 야? 이러한 행 x 열을 편집하는 가장 효율적인 방법은 무엇입니까 (가능한 경우 DataFrame이 많은 양의 메모리를 차지할 수 있으므로 인 페스가 좋음)?
또한 이러한 값을 올바른 모양의 DataFrame으로 바꾸려면 어떻게해야합니까?
df.loc에 대한 속성 오류가 발생합니다. 팬더 0.11에서 이것이 새로운 것으로 가정합니다. 그 전에 동등한 제품이 있었나요? 아니면 매달마다 팬더를 업그레이드해야하는 이유입니까? – Noah
또한 문서의 어딘가에서 복사가 아닌보기라는 것을 설명합니까? http://pandas.pydata.org/pandas-docs/dev/indexing.html#indexing-view-versus-copy – Noah
을 참조하십시오. 확실히 문서는보기 또는 사본 일 때 더 자세히 설명해야합니다. 과거에 문서 몇 개를 추가 할 것입니다. (모든 기능을 사용하면됩니다.) –