2014-01-22 2 views
1

이 최소한의 코드가 내 Python을 충돌시킵니다. (설정 : 팬더 0.13.0, 파이썬 2.7.3 AMD64, Win7에.)pandas 및 str.strip을 사용하여 Python 충돌이 발생합니다.

import pandas as pd 
input_file = r"c3.csv" 
input_df = pd.read_csv(input_file) 
for col in input_df.columns: # strip whitespaces from string values 
    if input_df[col].dtype == object: 
     input_df[col] = input_df[col].apply(lambda x: x.strip()) 
print 'start' 
for idx in range(len(input_df)): 
    input_df['LL'].iloc[idx] = 3 
    print idx 
print 'finished' 

출력 : c3.csv에서 라인을 제거

  1. : 충돌을 방지 무엇

    start 
    0 
    
    Process finished with exit code -1073741819 
    

    .

  2. 코드에서 .strip()을 제거하십시오.
  3. c3.csv를 변경하면 예상치 못한 충돌이 발생할 때까지 for 번 반복 횟수가 변경됩니다. c3.csv의

내용 :

Size , B/S , Symbol , Type , BN , Duration , VR , Time , SR ,LL, 
0, xxxx , xxxx0 , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
00, xxxx , xxxxx , ,, xxx , 00000 , 00:00:00 , 000000000 , 00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
0, xxxx , xxxxx , ,, xxx , 00000 , 00-00:00:00 , 000000000 , 00-00:00:00 , 
+0

을가 충돌 할 때 역 추적 무엇을 얻을 수 있습니까? – RedX

+0

@ RedX, 역 추적? 예외는 반환되지 않습니다. – Yariv

+0

코드에 대해'분할 오류 (코어 덤프) '가 표시됩니다. –

답변

8

는 예기치 않은 방식으로 작동 할 수있는 체인 할당을하고 있습니다. 여기를 참조하십시오 : http://pandas.pydata.org/pandas-docs/dev/indexing.html#indexing-view-versus-copy. 이것은 마스터에서 수정되었으며 0.13.1에서 작동합니다 (곧 제공 될 예정입니다). 여기 참조 : https://github.com/pydata/pandas/pull/6031

을이 할 정확하지 않은 대신 할

input_df['LL'].iloc[idx] = 3 

을 : 심지어

input_df.ix[ix,'LL'] = 3 

또는 더 나은 (당신이 3 ALL 행을 할당하는 것처럼)

input_df['LL'] = 3 

일부 행만 할당하는 경우 (정수/부울 식 인덱서라고 말하면)

input_df.ix[indexer,'LL'] = 3 

또한 단지 공백 제거하기 위해이 작업을 수행해야합니다

input_df[col] = input_df[col].str.strip() 
+0

나는이 답변에 의해 체인화 된 색인 생성을 잘못 사용했습니다. http://stackoverflow.com/a/13842286/1579844 – Yariv

+0

색인 생성이 때때로 작동하며 그 문제가 있습니다 (그리고 0.13이 경고하려고합니다) – Jeff

관련 문제