Python 求满足条件的单元格的平均值
我们的单元格格式为“aa-bb-CCCC/yyyy”/xx@ddddddddd.ee'中,xx是格式A0-Z9中的标题,yyyy是格式0001-9999中的数字。我们想找到单元格的yyyy平均值,其中xx='X1'。这个表是巨大的,所以在每个单元格上迭代似乎是有问题的。我是否可以在这里使用函数filterlike='X1',在满足此条件的情况下,我很难找到提取yyyy的方法Python 求满足条件的单元格的平均值,python,pandas,dataframe,Python,Pandas,Dataframe,我们的单元格格式为“aa-bb-CCCC/yyyy”/xx@ddddddddd.ee'中,xx是格式A0-Z9中的标题,yyyy是格式0001-9999中的数字。我们想找到单元格的yyyy平均值,其中xx='X1'。这个表是巨大的,所以在每个单元格上迭代似乎是有问题的。我是否可以在这里使用函数filterlike='X1',在满足此条件的情况下,我很难找到提取yyyy的方法 import pandas as pd df = pd.read_csv("dane.csv", sep=';') sha
import pandas as pd
df = pd.read_csv("dane.csv", sep=';')
shape = list(df.shape)
for i in range(0,shape[1]):
if df.iloc[:,i].filter(like='X1')
输入示例中,第一行是列名
1: Brandenburg (Post-Panamax) 2: Acheron (Feeder)
ES-NL-10633096/1938/X1@hkzydbezon.dk/6749 DE-JP-20438082/2066/A2@qwinfhcaer.cu/68849
BE-BR-61613986/3551/B1@oqk.bf/39927 NL-LK-02275406/2136/A1@ozmmfdpfts.de/73198
PH-SA-39552610/2436/A1@venagi.hr/80578
PA-AE-59814691/4881/X1@zhicvzvksl.cl/25247 OM-PH-31303222/3671/Z1@jtqy.ml/52408
据我所知,你需要计算所有单元格的一个平均值 满足标准,无论列在何处 从重新导入开始 然后编译正则表达式:
pat = re.compile(r'(?:[A-Z]{2}-){2}\d+/(?P<n>\d+)/X1@[A-Z]+\.[A-Z]{2}',
flags=re.I)
对于您的样本数据,结果为3409.5
要了解计算的方式,请执行每个步骤
作为单独的指示,并观察结果
pd.Series(df.values.reshape(-1, 1).squeeze()).str.extract(pat)\
.dropna().astype(int).n.mean()