小编Mah*_*a M的帖子

基于密钥的两个字典列表的交集

我有两个不同的词典列表,

list1 = [{'count': 351, 'att_value': 'one'},
         {'count': 332,  'att_value': 'two'},
         {'count': 336,  'att_value': 'six'},
         {'count': 359,  'att_value': 'nine'},
         {'count': 304,  'att_value': 'four'}]

list2 = [{'count': 359,'person_id' : 4},
         {'count': 351, 'person_id' : 12},
         {'count': 381, 'person_id' : 8}]
Run Code Online (Sandbox Code Playgroud)

如何通过将其余的键包含在list_C中来基于"count"键找到list_A和list_B的交集?

list3 = [{'count':359, 'att_value' : 'nine', 'person_id':4},
         {'count':351, 'att_value' : 'one', 'person_id':12},
         {'count':381, 'att_value' : '-', 'person_id':8}] 
Run Code Online (Sandbox Code Playgroud)

我想保留list2中的键,但是list1中缺少的值由" - "表示.

python dictionary list python-3.x

11
推荐指数
2
解决办法
470
查看次数

Pandas 根据特定的列值对数据框中的行进行分组

我有如下所示的数据框,

Input DataFrame
     gw_mac                 mac
 0   ac233fc015f6           dce83f3bc820
 1   ac233fc015f6           ac233f264a4c
 2   ac233fc015f6           ac233f264a4c
 3   ac233fc015f6           dce83f3bc820
 4   ac233fc015f6           ac233f264a4c
 5   ac233fc015f6           ac233f264a4c
 6   ac233fc015f6           dce83f3bc820
 7   ac233fc015f6           e464eecba5eb
Run Code Online (Sandbox Code Playgroud)

现在我需要根据列值“gw_mac”和“mac”对数据框进行分组,我应该得到以下三个不同的组

Expected Output
Group1

     gw_mac                 mac
 0   ac233fc015f6           dce83f3bc820
 3   ac233fc015f6           dce83f3bc820
 6   ac233fc015f6           dce83f3bc820

Group2
      gw_mac                 mac
  1   ac233fc015f6           ac233f264a4c
  2   ac233fc015f6           ac233f264a4c
  4   ac233fc015f6           ac233f264a4c
  5   ac233fc015f6           ac233f264a4c

Group3
      gw_mac                 mac
  7   ac233fc015f6           e464eecba5eb
Run Code Online (Sandbox Code Playgroud)

python grouping pandas

11
推荐指数
2
解决办法
2万
查看次数

当列值匹配时,Pandas Dataframe从行中替换Nan

我有数据框,即

Input Dataframe

      class  section  sub  marks  school  city
0     I      A        Eng  80     jghss   salem
1     I      A        Mat  90     jghss   salem 
2     I      A        Eng  50     Nan     salem 
3     III    A        Eng  80     gphss   Nan
4     III    A        Mat  45     Nan     salem
5     III    A        Eng  40     gphss   Nan
6     III    A        Eng  20     gphss   salem
7     III    A        Mat  55     gphss   Nan
Run Code Online (Sandbox Code Playgroud)

当“班级”和“部分”列中的值匹配时,我需要替换“学校”和“城市”中的“南”。最终结果应该是输入数据框

      class  section  sub  marks  school  city
0     I      A        Eng  80     jghss   salem
1 …
Run Code Online (Sandbox Code Playgroud)

python nan python-3.x pandas

6
推荐指数
1
解决办法
320
查看次数

获取 pandas 数据框中包含和不包含 NaN 的所有行

在 pandas 数据框中分割包含 NaN 和不包含 NaN 的行的最有效方法。

input :- ID    Gender    Dependants   Income   Education  Married
         1     Male      2            500      Graduate   Yes
         2     NaN       4            2500     Graduate   No
         3     Female    3            NaN      NaN        Yes
         4     Male      NaN          7000     Graduate   Yes
         5     Female    4            500      Graduate   NaN
         6     Female    2            4500     Graduate   Yes
Run Code Online (Sandbox Code Playgroud)

没有 NaN 的预期输出是,

ID    Gender    Dependants    Income    Education    Married
1     Male      2             500       Graduate     Yes
6     Female    2             4500      Graduate     Yes
Run Code Online (Sandbox Code Playgroud)

NaN 的预期输出是,

ID    Gender    Dependants    Income    Education    Married …
Run Code Online (Sandbox Code Playgroud)

split nan python-3.x pandas

5
推荐指数
1
解决办法
1822
查看次数

如何在字典列表中使用列表和字典理解添加键和值?

我有一个字典列表,

ip_list = [{'1403': [-56, -58], 'data': '1'},
           {'1403': [-56, -58], 'data': '0'}]
Run Code Online (Sandbox Code Playgroud)

现在我需要在字典中添加一个新的键(即“mac”)和值(即“xyz”),如果字典包含“data”= 1,结果应该是,

expected_outcome = [{'1403': [-56, -58], 'data': '1', 'mac':'xyz'},
                    {'1403': [-56, -58], 'data': '0'}]
Run Code Online (Sandbox Code Playgroud)

我尝试过,

list_dict_comp = [dict(item, **{'mac':'xyz'}) for item in ip_list]
Run Code Online (Sandbox Code Playgroud)

鉴于上述表达式给出,

list_dict_comp = [{'1403': [-56, -58], 'data': '1', 'mac':'xyz'},
                  {'1403': [-56, -58], 'data': '0', 'mac':'xyz'}]
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我在一个表达式中同时使用列表和字典理解来实现“expected_outcome”吗?

python dictionary list python-3.x

5
推荐指数
1
解决办法
2748
查看次数

Pandas:根据包含列表的列过滤行

如何根据另一个列值过滤数据框中的行?

我有一个数据框,它是

ip_df:
     class    name     marks          min_marks  min_subjects
0    I        tom      [89,85,80,74]  80         2
1    II       sam      [65,72,43,40]  85         1
Run Code Online (Sandbox Code Playgroud)

根据“min_subject”和“min_marks”的列值,应过滤该行。

  • 对于索引 0,"min_subjects" 为 "2","marks" 列中至少有 2 个元素应大于 80 即,"min_marks" 列然后必须添加名为 "flag" 的新列作为 1

  • 对于索引 1,“min_subjects”为“1”,“marks”列中至少有 1 个元素应大于 85,即“min_marks”列,然后必须将名为“flag”的新列添加为 0(即, flag=0 因为这里不满足条件)

最后的结局应该是

op_df:
     class    name     marks          min_marks  min_subjects flag
0    I        tom      [89,85,80,74]  80         2            1
1    II       sam      [65,72,43,40]  85         1            0
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我在数据框中实现相同的目标吗?

python python-3.x pandas

5
推荐指数
1
解决办法
192
查看次数

如何在列表理解中将字典值转换为小写?

我有一个字典清单,

list_dict = [{'name':'Rita' , 'customer_id': 'A12B1', 'city': 'Chennai'}, 
             {'name':'Sita' , 'customer_id': 'A61B8', 'city': 'Salem'}]
Run Code Online (Sandbox Code Playgroud)

我需要得到结果,

list_dict = [{'name':'rita' , 'customer_id': 'a12b1', 'city': 'chennai'}, 
             {'name':'sita' , 'customer_id': 'a61b8', 'city': 'salem'}]
Run Code Online (Sandbox Code Playgroud)

我尝试过

new_list = []
for index in range(len(list_dict)):
    new_dict = {}
    for key,val in list_dict[index].items():
        new_dict[key] = str(val).lower()
new_list.append(new_dict)
Run Code Online (Sandbox Code Playgroud)

如何使用列表理解获得相同的结果?

python dictionary list lowercase python-3.x

1
推荐指数
1
解决办法
90
查看次数

标签 统计

python ×6

python-3.x ×6

pandas ×4

dictionary ×3

list ×3

nan ×2

grouping ×1

lowercase ×1

split ×1