繁体   English   中英

为什么我在将新字段附加到数据帧时得到所有 NAN?

[英]Why am I Gettting all NAN while Appending a new Field to a Data Frame?

这对我来说很奇怪。 我有一个数据框,其中包含一个具有文件名的字段,如下所示。

df['file']

文件名如下所示。

0     FFIEC CDR Call Schedule RCB02 03312011.txt
1     FFIEC CDR Call Schedule RCB02 03312011.txt
2     FFIEC CDR Call Schedule RCB02 03312011.txt
3     FFIEC CDR Call Schedule RCB02 03312011.txt
4     FFIEC CDR Call Schedule RCB02 03312011.txt
5     FFIEC CDR Call Schedule RCB02 03312011.txt

我怎样才能解析出最后两个空格之间的最后一个字符串,所以它看起来像这样。

RCB02

我正在尝试将 append 指向一个数据框,就像这样。

grouped_and_summed['schedule_code'] = df['file'].str[24:27]

当我查看数据框时,我有所有的 NAN。

在此处输入图像描述

我想要的是让grouped_and_summed数据框具有RCB02 ,正确显示,并显示为数据框中的第一列。 我怎样才能做到这一点?

您可以将Series.str.extract方法与一些简单的正则表达式一起使用,然后将新列设置为结果集的.values

df.loc[:, "schedule_code"] = df["file"].str.extract(r"FFIEC CDR Call Schedule (\w+) \d+\.txt").values

Output -

                                         file schedule_code
0  FFIEC CDR Call Schedule RCB02 03312011.txt         RCB02
1  FFIEC CDR Call Schedule RCB02 03312011.txt         RCB02
2  FFIEC CDR Call Schedule RCB02 03312011.txt         RCB02
3  FFIEC CDR Call Schedule RCB02 03312011.txt         RCB02
4  FFIEC CDR Call Schedule RCB02 03312011.txt         RCB02
5  FFIEC CDR Call Schedule RCB02 03312011.txt         RCB02

验证

它确实使事情保持一致。 这是另一个 dataframe ,其中最后一个 RCB 值不同:

                                         file
0  FFIEC CDR Call Schedule RCB02 03312011.txt
1  FFIEC CDR Call Schedule RCB02 03312011.txt
2  FFIEC CDR Call Schedule RCB02 03312011.txt
3  FFIEC CDR Call Schedule RCB02 03312011.txt
4  FFIEC CDR Call Schedule RCB02 03312011.txt
5  FFIEC CDR Call Schedule RCB03 03312011.txt # I'm different!

output 是:

                                         file schedule_code
0  FFIEC CDR Call Schedule RCB02 03312011.txt         RCB02
1  FFIEC CDR Call Schedule RCB02 03312011.txt         RCB02
2  FFIEC CDR Call Schedule RCB02 03312011.txt         RCB02
3  FFIEC CDR Call Schedule RCB02 03312011.txt         RCB02
4  FFIEC CDR Call Schedule RCB02 03312011.txt         RCB02
5  FFIEC CDR Call Schedule RCB03 03312011.txt         RCB03 # Still here!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM