我试图确定在 editText.Text = "";
中添加特定值的效率更高。
对于下面的pandas df
,我想为df
中的每个integers
添加Value
中的X + Y
。因此,对于每个Area
,我想将其添加到以下X
中。
Y
如果值不多,我可以按照以下说明手动进行操作:
import pandas as pd
d = ({
'Area' : ['X','Y','Z','X','Y','Z'],
'Value' : [10,11,20,21,30,31],
})
df = pd.DataFrame(data=d)
但是如果x = df.iloc[0] + df.iloc[1]
很大,则效率会降低。
预期输出:
df
答案 0 :(得分:1)
使用X
和Y
创建一个掩码,并在每两个索引和sum()
上使用groupby,使用:
m=df[df.Area.isin(['X','Y'])].reset_index(drop=True)
print(m.groupby(m.index//2)['Value'].sum())
输出
0 21
1 51
答案 1 :(得分:1)
按boolean indexing
过滤到Series
,创建默认索引和Series.add
:
s1 = df.loc[df['Area'].eq('X'), 'Value'].reset_index(drop=True)
s2 = df.loc[df['Area'].eq('Y'), 'Value'].reset_index(drop=True)
s = s1.add(s2)
print (s)
0 21
1 51
dtype: int64
解决方案的优势不是X
和Y
值的重要排序。