2014-01-22 24 views
1

这个最小的代码崩溃了我的Python。 (环境:熊猫0.13.0,蟒2.7.3 AMD64,Win7的。)Python使用熊猫和str.strip崩溃

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' 

输出:

start 
0 

Process finished with exit code -1073741819 

什么防止碰撞:

  1. 卸下从c3.csv线。
  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

我正在为你的代码得到'Segmentation fault(core dumped)'。 –

回答

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)

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