Python 数据帧分析&x27;在行中具有特定子字符串的

Python 数据帧分析&x27;在行中具有特定子字符串的,python,pandas,dataframe,data-analysis,Python,Pandas,Dataframe,Data Analysis,我得到了与此类似的熊猫数据帧: Date Name Value 2018-02-11 AP1-C4-we2 223 2018-04-22 AP1-C4-dej 44 2018-04-22 AP1-C4-dej 443 2018-05-02 AP4-C2-oe0 992 2018-05-02 AP1-C6-we2 29 2018-05-03 AP4-B5-iiu 58 2018-05-03 AP4-B5-ffw 12 如何对以相同子字符串(

我得到了与此类似的熊猫数据帧:

Date        Name        Value
2018-02-11  AP1-C4-we2  223
2018-04-22  AP1-C4-dej  44
2018-04-22  AP1-C4-dej  443
2018-05-02  AP4-C2-oe0  992
2018-05-02  AP1-C6-we2  29
2018-05-03  AP4-B5-iiu  58
2018-05-03  AP4-B5-ffw  12
如何对以相同子字符串(名称的前两部分)开头的名称的值求和?应该是这样的:

Date        Name    Value  
2018-02-11  AP1-C4  223 
2018-04-22  AP1-C4  487
2018-05-02  AP4-C2  992
2018-05-02  AP1-C6  29
2018-05-03  AP4-B5  70
我不知道“Name”中出现的所有值(还有很多)

您可以使用

df.Value.groupby([df.Date,df.Name.str.rsplit('-',n=1).str[0]]).sum().sort_values().reset_index()
你可以用

df.Value.groupby([df.Date,df.Name.str.rsplit('-',n=1).str[0]]).sum().sort_values().reset_index()

.groupby
日期和名称字符串拆分的索引零,其中拆分发生在
-
上,后跟小写字母和数字

df.groupby ([df['Date'],df.Name.str.split('[\-](?=[a-z0-9]+)').str[0]]).agg(Value=('Value','sum')).reset_index()

         Date    Name  Value
0  2018-02-11  AP1-C4    223
1  2018-04-22  AP1-C4    487
2  2018-05-02  AP1-C6     29
3  2018-05-02  AP4-C2    992
4  2018-05-03  AP4-B5     70

.groupby
日期和名称字符串拆分的索引零,其中拆分发生在
-
上,后跟小写字母和数字

df.groupby ([df['Date'],df.Name.str.split('[\-](?=[a-z0-9]+)').str[0]]).agg(Value=('Value','sum')).reset_index()

         Date    Name  Value
0  2018-02-11  AP1-C4    223
1  2018-04-22  AP1-C4    487
2  2018-05-02  AP1-C6     29
3  2018-05-02  AP4-C2    992
4  2018-05-03  AP4-B5     70

您能告诉我如何按值排序吗?@alqueen add sort\u values您可以在sort\u值中包含ignore\u index;它不需要重置索引,您能告诉我如何按值排序吗?@alqueen add sort\u values您可以在sort\u值中包含ignore\u index;它不需要重置索引