Python 如何从同一列中提取值
我想连接该列中同一列的两个值这是我的csv文件:Python 如何从同一列中提取值,python,pandas,dataframe,Python,Pandas,Dataframe,我想连接该列中同一列的两个值这是我的csv文件: Date,Region,TemperatureMax,TemperatureMin,PrecipitationMax,PrecipitationMin 01/01/2016,Champagne Ardenne,12,6,2.5,0.3 02/01/2016,Champagne Ardenne,13,9,3.9,0.6 03/01/2016,Champagne Ardenne,14,7,22.5,12.5 01/01/2016,Bourgogne,
Date,Region,TemperatureMax,TemperatureMin,PrecipitationMax,PrecipitationMin
01/01/2016,Champagne Ardenne,12,6,2.5,0.3
02/01/2016,Champagne Ardenne,13,9,3.9,0.6
03/01/2016,Champagne Ardenne,14,7,22.5,12.5
01/01/2016,Bourgogne,9,5,0.1,0
02/01/2016,Bourgogne,11,8,16.3,4.2
03/01/2016,Bourgogne,10,5,12.2,6.3
01/01/2016,Pays de la Loire,12,6,2.5,0.3
02/01/2016,Pays de la Loire,13,9,3.9,0.6
03/01/2016,Pays de la Loire,14,7,22.5,12.5
我想要勃艮第香槟阿登,而不是把它们分开,然后计算出温度max,温度min,沉淀max,沉淀min的平均值:
01/01/2016,Bourgogne Champagne Ardenne,10.5,5.5,1.3,0.15
02/01/2016,Bourgogne Champagne Ardenne,12,8.5,10.1,2.4
03/01/2016,Bourgogne Champagne Ardenne,12,6,17.35,9.4
01/01/2016,Pays de la Loire,12,6,2.5,0.3
02/01/2016,Pays de la Loire,13,9,3.9,0.6
03/01/2016,Pays de la Loire,14,7,22.5,12.5
使用groupby的
agg
方法:
df.groupby('Date').agg({
'Region': lambda g: g.sort_values().str.cat(sep=' '),
'TemperatureMax': 'mean',
'TemperatureMin': 'mean',
'PrecipitationMax': 'mean',
'PrecipitationMin': 'mean'
})
请注意,这将按字母顺序连接区域。使用groupby的
agg
方法:
df.groupby('Date').agg({
'Region': lambda g: g.sort_values().str.cat(sep=' '),
'TemperatureMax': 'mean',
'TemperatureMin': 'mean',
'PrecipitationMax': 'mean',
'PrecipitationMin': 'mean'
})
请注意,这将按字母顺序连接区域。更一般的解决方案是首先通过
dict
然后+聚合:
更一般的解决方案是首先通过
dict
然后+聚合:
你怎么知道勃艮第第一,香槟阿登第二?或者您的数据集中只有这两个吗?@IanS您可以基于date,但groupby+concatenate可以返回
香槟阿登勃艮第
,这是正确的吗?@lanS我的数据集中有其他值,我想要确切地拥有勃艮第香槟阿登
,因为我想将它与包含勃艮第香槟阿登
的其他数据集连接起来,然后您必须更具体地说明如何进行分组。在您的示例中添加其他区域,并解释它们应该如何分组。您如何知道勃艮第排在第一位,香槟阿登排在第二位?或者您的数据集中只有这两个吗?@IanS您可以基于date,但groupby+concatenate可以返回香槟阿登勃艮第
,这是正确的吗?@lanS我的数据集中有其他值,我想要确切地拥有勃艮第香槟阿登
,因为我想将它与包含勃艮第香槟阿登
的其他数据集连接起来,然后您必须更具体地说明如何进行分组。将其他区域添加到您的示例中,并解释它们应该如何分组。很高兴能够帮助您!很高兴能帮助你!