0
팬더 DataFrame에서 연속 된 두 행의 차이를 찾고 싶다면 diff
함수를 호출하면됩니다.행간 교차 찾기
문자가 set
s 인 행이 있습니다. 이제는 행렬 쌍으로 각 집합의 교차점을 계산합니다. 즉, diff
을 사용하고 싶지만 대신 내 기능을 제공하십시오. 팬더에서 이것을 수행 할 수있는 방법이 있습니까?
예를 입력 :
100118231 1 set([])
2 set([142.136.6])
3 set([142.136.6])
4 set([])
5 set([])
6 set([108.0.239])
원하는 출력 :
100118231 1 set([]) NaN
2 set([142.136.6]) set([])
3 set([142.136.6]) {142.136.6}
4 set([]) set([])
5 set([]) set([])
6 set([108.0.239]) set([])
내가 shift
를 사용하여 시도했지만, 그 이상의 모든 항목을 실행 오류
In [213]: type(tgr.head(1))
Out[213]: pandas.core.frame.DataFrame
In [214]: tt=tgr.apply(lambda x: x['value'].intersection((x['value'].shift(-1))))
AttributeError: 'Series' object has no attribute 'intersection'
부수적으로 붙여 넣은 코드와 데이터는 실제로 사용할 수 없습니다. 다행스럽게도 이것은 쉬운 질문 이었지만 데이터 프레임을 재현해야한다면 귀찮게하지 않았을 것입니다. – U2EF1
유용하지 않은 것은 무엇입니까? 나는 그것이 데이터의 구조를 시각화하는 훌륭한 일을했다고 생각했다. 이해가되지 않는다면 같은 실수를 두 번하고 싶지는 않습니다. – Mike
명령 줄에 무언가를 붙여 넣기 만하면 데이터를 재구성 할 수 없으므로이 문제를 쉽게 재현 할 수 없습니다. [Here 's] (http://stackoverflow.com/questions/20109391/how-to-make-good-reproducible-pandas-examples) 좋은 가이드이지만, 데이터 프레임 세트를 얻으려면 좀 더 흥미로운 작업을해야합니다. – U2EF1