GVKun编程网logo

如何计算python中具有相同值的excel行(python求相同数字的和)

13

如果您对如何计算python中具有相同值的excel行和python求相同数字的和感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解如何计算python中具有相同值的excel行的各种细节,并对p

如果您对如何计算python中具有相同值的excel行python求相同数字的和感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解如何计算python中具有相同值的excel行的各种细节,并对python求相同数字的和进行深入的分析,此外还有关于php – 数组中具有相同值的多个键、php-如何计算属于另一列中不同值的列中的所有相同值、python – Pandas:将行中具有相同键的行分组、Python – 同时声明具有相同值的两个变量的实用技巧。

本文目录一览:

如何计算python中具有相同值的excel行(python求相同数字的和)

如何计算python中具有相同值的excel行(python求相同数字的和)

如何解决如何计算python中具有相同值的excel行?

我有一个包含 3 列(源、目标和时间)和 140400 行的 excel 文件,我想计算所有列中具有相同源、目标和时间值)相似值的行,我的意思是计算行包含从相同来源到相同目的地的数据包信息,同时。(row1:0,1,3 和 row102:0,3 所以我们在这里有 2 个相同的行),所有的值都是整数。我尝试使用 df.iloc 但只返回零,尝试使用字典但无法成功。如果有人帮助我找到解决方案,我将不胜感激。 对于时间戳中的 t: 这是我尝试过但没有奏效的一种方法。

for x in range(120):        
    for y in range(120):
        while i < 140400 and df.iloc[i,0] <= t:
        #if df.iloc[i,0]<= t :
            if df.iloc[i,0] == t and df.iloc[i,1]==y and df.iloc[i,2]==x:
                TotalArp[x][y]+=1
            i=i+1 

this is the file format

解决方法

如果我理解正确,您只想计算所有具有相同值的行,对吗?这应该有效,尽管可能不是最有效的方式:

counter = 0
for index,row in df.iterrows():
    if row[0] == row[1] == row[2]:
        counter += 1

编辑:

好吧,因为我太笨了,不能发表评论,我就在这里编辑一下:

duplicate_count_df = df.groupby(df.columns.tolist(),as_index=False).size().drop_duplicates(subset=list(df.columns)

这应该会引导您走向正确的方向。

,

假设您的 DataFrame 中有这些列:
["Col1","Col2","Col3","Col4"]
现在,您要对 DataFrame 的每一列中包含相等值的行进行计数:

len(df[df[''Col1''] == df[''Col2''] == df[''Col3''] == df[''Col4''])

就这么简单。

更新
如果您想具体获取每个元素的计数:

# Create Dictionary to specify count for each element
Properties = {k:0 for k in set([item for elem in df.columns for item in df[elem]])}

# Then Start counting values that are equal in each row
for item in range(len(df)) :
    if df.iloc[item,0] == df.iloc[item,1] == df.iloc[item,2] == df.iloc[item,3]:
        Properties[df.iloc[item,0]] += 1

print(Properties)

让我们看一个例子:

# Here i have a DataFrame with 2 columns and 3 rows
df = pd.DataFrame({''1'':[1,2,3],''2'':[1,1,''-'']})
df

输出:
My Data Frame

然后:

Properties = {k:0 for k in set([item for elem in df.columns for item in df[elem]])}

for item in range(len(df)) :
    if df.iloc[item,1]:
        Properties[df.iloc[item,0]] += 1

Properties

输出:

{1: 1,2: 0,3: 0,''-'': 0}

为了更好地理解enter image description here

php – 数组中具有相同值的多个键

php – 数组中具有相同值的多个键

基本上我要做的是有2个不同的键指向相同的值.

就像是:

"AP7898","AP7841"    => array('loadStatusLoad' => '.1.3.6.1.4.1.318.1.1.12.2.3.1.1.2','loadStatusstatus => '.1.3.6.1.4.1.318.1.1.12.2.3.1.1.3',),

两者都是ap7898和ap7841指向的值.

解决方法

$val = 'hi';
$arr = array(
  'a1' => $val,'a2' => $val
);

或使用参考

$val = 'hi';
$arr = array(
  'a1' => &$val,'a2' => &$val
);


$val = 'bye'; // both are updated

php-如何计算属于另一列中不同值的列中的所有相同值

php-如何计算属于另一列中不同值的列中的所有相同值

我有一个MySQL数据库表,该表具有4列:ID,日期,SessionID,UserID(此处不相关).我们称它们为A,B,C

我不知道如何计算到特定日期已预订的会话数.

例如这样的事情

      A  |      B     |  C
      ---|------------|------    
       1 | 2016-02-12 |  1  | 
       2 | 2016-02-12 |  1  | 
       3 | 2016-02-13 |  1  | 
       4 | 2016-02-12 |  5  | 
       5 | 2016-02-12 |  5  | 
       6 | 2016-02-13 |  2  | 
       7 | 2016-02-18 |  2  | 
       8 | 2016-02-19 |  3  |  

所以我想我的PHP代码将输出
对于2016年2月12日,我有2个值为1的条目和2个值为5的条目.
对于日期2016-02-13,我有一个值1的条目和一个值2的条目.

解决方法:

这应该可以根据需要工作

SELECT B AS date,COUNT(C) AS sessions FROM table GROUP BY B,C

python – Pandas:将行中具有相同键的行分组

python – Pandas:将行中具有相同键的行分组

在pandas中,我试图弄清楚如何使用相同的键对行进行分组,在一行中有一组包含组中的键(由id分组),一组不常见的功能的常用功能.

就像是

  id  C1  C2  Uk  U1
0  x   1   2   3   4
1  y   5   6   7   8
2  x   1   2   9  10
3  y   5   6   3  11

这里的共同特征集是C1和C2,一组不常见的特征是Uk和U1,其中组的密钥是Uk.

在此示例中,所需的结果是:

  id  C1  C2  Uk3_U1  Uk7_U1  Uk9_U1
0  x   1   2       4     NaN    10.0
1  y   5   6      11     8.0     NaN

当然,它们可能是一个U2列(嗨Bono!),但这使得示例更难写,因为结果中的列数会更大.

生成此数据集的代码是:

pd.DataFrame({'id': ['x','y','x','y'],'C1': [1,5,1,5],'C2': [2,6,2,6],'Uk': [3,7,9,3],'U1': [4,8,10,11]})

谢谢.

解决方法

枢轴连接

您可以使用pivot轻松完成此操作,并使用join与原始df结合使用:

new_df = new_df = df.pivot('id','Uk','U1')
                    .add_prefix('Uk').add_suffix('_U1').reset_index()

print(new_df)

Uk id Uk3_U1 Uk7_U1 Uk9_U1
0   x   4.0   NaN    10.0
1   y  11.0   8.0    NaN

new_df.join(df.loc[:,'C1':'C2'])

   id   Uk3  Uk7   Uk9  C1  C2
0  x   4.0  NaN  10.0   1   2
1  y  11.0  8.0   NaN   5   6

在更一般的情况下,您想要转动多个列[C1 … Cn],您可以执行以下操作.比如你有以下df:

id  C1  C2  Uk  U1  U2
0  x   1   2   3   4   5
1  y   5   6   7   8   2
2  x   1   2   9  10  10
3  y   5   6   3  11  11

你可以这样做:

values_to_pivot = df.columns.difference(['id','C1','C2','Uk'])
new_df = df.pivot('id',values_to_pivot).reset_index()
print(new_df)

    id    U1               U2           
Uk        3    7     9     3    7     9
0   x   4.0  NaN  10.0   5.0  NaN  10.0
1   y  11.0  8.0   NaN  11.0  2.0   NaN

new_df.join(df.loc[:,'C1':'C2'])

    (id,)  (U1,3)  (U1,7)  (U1,9)  (U2,3)  (U2,7)  (U2,9)  C1  C2
0      x      4.0      NaN     10.0      5.0      NaN     10.0    1   2
1      y     11.0      8.0      NaN     11.0      2.0      NaN    5   6

Python – 同时声明具有相同值的两个变量

Python – 同时声明具有相同值的两个变量

a=[1,2,3]
b=[1,3]

有没有办法在一条线上做到这一点? (显然不是用“;”)

a,b=[1,3]

不起作用因为

a,b,c=[1,3]

a = 1时
B = 2
C = 3

解决方法

In [18]: a,3],[1,3]

In [19]: a
Out[19]: [1,3]

In [20]: b
Out[20]: [1,3]

你可能也想这样做:

In [22]: a=b=[1,3]

In [23]: a
Out[23]: [1,3]

In [24]: b
Out[24]: [1,3]

但要注意,在这种情况下a是b是True,即a只是b的参考

我们今天的关于如何计算python中具有相同值的excel行python求相同数字的和的分享已经告一段落,感谢您的关注,如果您想了解更多关于php – 数组中具有相同值的多个键、php-如何计算属于另一列中不同值的列中的所有相同值、python – Pandas:将行中具有相同键的行分组、Python – 同时声明具有相同值的两个变量的相关信息,请在本站查询。

本文标签: