[英]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.