在pandas DataFrame中的运输行和拆分单元格值

时间:2015-05-12 04:49:52

标签: python pandas

我的数据位于每行的pandas DataFrame中,结构如下:

> df={'date1': '0 \r Created February 21, 2015', 'amt': '$50,815 raised by 498 donors'}

我希望它看起来像这样

>df={'month': 'February', 'day': 21, 'year': '2015, 'cur': '$', 'raised': '50815', 'num_donor': '498'} 

df.date1,我的许多单元格都包含回车符,有时连续几次(在字符串的开头和结尾)。有没有办法从整个DataFrame中删除它们?

在某些情况下,这有效:

> df['date1'] = df['date1'].map(lambda x: str(x).lstrip('\r Created').rstrip('...'))

但这并不总是有效(来自diff列的代码)。例如,以下任何内容都不会删除\ r \ n或','

> df['raised2'][0] = ,50,815,\r 

> df['raised2'] = df['raised2'].map(lambda x: str(x).lstrip('\r').rstrip('\r'))

> rm_carriage = lambda x: re.findall("^/\r*(.*?)/\r*$", str(x))

> df.applymap(carriage_function)

这让我成了月,但同样的逻辑不会得到我的一天或一年

> df['month'] = df['date1'].map(lambda x: x.split()[0])

> df['day'] = df['date1'].map(lambda x: x.split()[1])   #IndexError

1 个答案:

答案 0 :(得分:0)

取决于确切的数据,但对于您的示例,这应该有效

var image = ScreenCapture.CaptureActiveWindow();
image.Save(@"C:\temp\snippetsource.jpg", ImageFormat.Jpeg);