如果您对如何计算python中具有相同值的excel行和python求相同数字的和感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解如何计算python中具有相同值的excel行的各种细节,并对p
如果您对如何计算python中具有相同值的excel行和python求相同数字的和感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解如何计算python中具有相同值的excel行的各种细节,并对python求相同数字的和进行深入的分析,此外还有关于php – 数组中具有相同值的多个键、php-如何计算属于另一列中不同值的列中的所有相同值、python – Pandas:将行中具有相同键的行分组、Python – 同时声明具有相同值的两个变量的实用技巧。
本文目录一览:- 如何计算python中具有相同值的excel行(python求相同数字的和)
- php – 数组中具有相同值的多个键
- php-如何计算属于另一列中不同值的列中的所有相同值
- python – Pandas:将行中具有相同键的行分组
- 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
输出:
然后:
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}
为了更好地理解:
php – 数组中具有相同值的多个键
就像是:
"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-如何计算属于另一列中不同值的列中的所有相同值
我有一个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:将行中具有相同键的行分组
就像是
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 – 同时声明具有相同值的两个变量
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 – 同时声明具有相同值的两个变量的相关信息,请在本站查询。
本文标签: