【问题标题】:Pandas: how to use value of a variable while making a new data frame using .locPandas:如何在使用 .loc 创建新数据框时使用变量的值
【发布时间】:2018-08-07 23:44:18
【问题描述】:

我有一个数据框,只有公司名称“CC”,我想获取它所属组名的所有公司名称,即(AA、BB、CC、DD 和 EE 数据框) 条件:只知道公司名称,其余列的数据每周都会变化。

| S.no|Company| City         | Vendor | Group Number | Category  
| 1   |  AA   | Delhi        | Micro  | 9188-SC      | BBRNC011TR
| 2   |  BB   | Delhi        | Micro  | 9188-SC      | BBRNC011TR
| 3   |  CC   | Banglore     | Micro  | 9188-SC      | BBRNC011TR
| 4   |  DD   | Banglore     | Micro  | 9188-SC      | BBRNC011TR
| 5   |  EE   | Mumbai       | Micro  | 9188-SC      | BBRNC011TR
| 6   |  FF   | Colcutta     | Micro  | 8876-SC      | NCRNC011TR
| 7   |  GG   | Colcutta     | Micro  | 8876-SC      | NCRNC011TR
| 8   |  HH   | Noida        | Micro  | 8876-SC      | NCRNC011TR
| 9   |  II   | Noida        | Micro  | 8876-SC      | NCRNC011TR

我试过了

dfG = df.loc['AA',['Group Number']]
dfA = dfG.loc['Group Number' == "9188-SC"]

它给了我组号,我可以通过这个组号找到下一个数据帧,但挑战是它每天都在变化,那么如何解决这个问题?

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    在我看来,创建从公司到组以及从组到公司的映射的一次性成本是值得的。您可以为此创建两个系列。

    首先将给定的 Company 映射到 GroupNumber。然后将 GroupNumber 映射到公司列表。这是一个演示:

    co_grp = df.drop_duplicates('Company').set_index('Company')['GroupNumber']
    grp_cos = df.groupby('GroupNumber')['Company'].apply(list)
    
    res = df[df['Company'].isin(grp_cos[co_grp['CC']])]
    
    print(res)
    
       S.no Company      City Vendor GroupNumber    Category
    0     1      AA     Delhi  Micro     9188-SC  BBRNC011TR
    1     2      BB     Delhi  Micro     9188-SC  BBRNC011TR
    2     3      CC  Banglore  Micro     9188-SC  BBRNC011TR
    3     4      DD  Banglore  Micro     9188-SC  BBRNC011TR
    4     5      EE    Mumbai  Micro     9188-SC  BBRNC011TR
    

    【讨论】:

      【解决方案2】:

      对于您的数据,请尝试以下操作:

      d.loc[d[" Vendor_Group_Number"].isin(d.loc[d['S.no']=="AA"][" Vendor_Group_Number"].tolist())]
      

      【讨论】:

      • 你好,我的数据框有以下列 S.no |公司 |城市 |供应商 |组号 |类别,我不知道,但不知何故它改变了一点,但我这里没有“Vendor_Group_Number”。 python和这个平台的新手。 “AA”是这里的公司名称
      猜你喜欢
      • 1970-01-01
      • 2016-04-02
      • 1970-01-01
      • 1970-01-01
      • 2020-12-02
      • 2019-09-29
      • 1970-01-01
      • 1970-01-01
      • 2020-07-27
      相关资源
      最近更新 更多