표현식의 결과를 데이터 프레임에 브로드 캐스트하려고하지만 전체 열에는 필터링 된 하위 집합으로 브로드 캐스트하지 않습니다. 아래의 단순화 :팬더 데이터 프레임에서 필터링 된 열에 스칼라를 브로드 캐스팅하는 방법
In [6]: df1 = DataFrame({"A":[1, 2, 3, 4], "B":["w", "x", "y", "z"], "C":(numpy.
zeros((4), dtype='S1'))})
In [7]: df1
Out[7]:
A B C
0 1 w
1 2 x
2 3 y
3 4 z
그래서 A와 B는 내 기존 데이터를 포함하고 C 열은 결과를 입력 할 준비가되었습니다. 그래서 다음과 같이 전체 열을 방송 할 수있다 :
In [9]: df1['C'] = 'H'
In [10]: df1
Out[10]:
A B C
0 1 w H
1 2 x H
2 3 y H
3 4 z H
그러나 나는 시도하고 방송하는 경우 (이 예에서는 문자 "R") 필터링 된 하위 집합 :
In [14]: (df1[df1['A'] > 2])['C']
Out[14]:
2 H
3 H
Name: C
(단지로 .. 그래서 지금은 시도하고이 부분 집합에 "R"를 지정)
In [12]: (df1[df1['A'] > 2])['C'] = "R"
In [13]: df1
Out[13]:
A B C
0 1 w H
1 2 x H
2 3 y H
3 4 z H
을
를 필터링 작품을 증명하지만 내 값은 다시 주요 변경되지 않은 :((흥미롭게도 나는 오류가 발생하지 않습니다!?) 아무도 내가 이것을 얻을 수있는 방법을 제안 할 수 있습니까?
많은 감사,
Ahhh !!! 오 너무 간단합니다 :-) 감사합니다 ..... –