【问题标题】:SAS set datasets to PythonSAS 将数据集设置为 Python
【发布时间】:2021-06-21 08:45:49
【问题描述】:

我有 2 个 sas 数据集,我正在使用 SET 语句通过键列将它们组合成一个新数据集。 以下是数据的外观(注意:'.' 是缺失值或空值)

data1       data2  
ID X  Y     ID  X  Z
01 12 11    01  .  4
02 15 .     03 17  6
            03 18  .

data combine;
set data1 data2;
by id;
run;

输出数据集'combine'的结果如下:

combine
ID  X  Y  Z
01 12  11  .
01 .   .   4
02 15  .   .
03 17  .   6
03 18  .   .

谁能告诉我如何在 Pandas/Python 中执行此操作。 我尝试使用 pd.concat() 但这并没有提供上述所需的输出。感谢有人可以提供帮助。

【问题讨论】:

    标签: pandas merge concatenation


    【解决方案1】:

    concat

    pd.concat([data1, data2], ignore_index=True).sort_values('ID')
    
       ID     X     Y    Z
    0  01  12.0  11.0  NaN
    2  01   NaN   NaN  4.0
    1  02  15.0   NaN  NaN
    3  03  17.0   NaN  6.0
    4  03  18.0   NaN  NaN
    

    append

    data1.append(data2, ignore_index=True).sort_values('ID')
    
       ID     X     Y    Z
    0  01  12.0  11.0  NaN
    2  01   NaN   NaN  4.0
    1  02  15.0   NaN  NaN
    3  03  17.0   NaN  6.0
    4  03  18.0   NaN  NaN
    

    回复评论

    抱歉...基本上,我只需要一个“标志”来指示来自“data1”和 data2 的数据。简单来说,创建一个名为“flag”的新变量,如果数据来自 data1,则将其赋值为 1,并为来自 data2 的数据赋值 2。希望它很清楚......再次感谢! – user11580242

    你可以使用concat

    pd.concat({1: data1, 2: data2}, names=['flag']).reset_index('flag').sort_values('ID')
    
       flag  ID     X     Y    Z
    0     1  01  12.0  11.0  NaN
    0     2  01   NaN   NaN  4.0
    1     1  02  15.0   NaN  NaN
    1     2  03  17.0   NaN  6.0
    2     2  03  18.0   NaN  NaN
    

    【讨论】:

    • 谢谢您。如果我想设置标志来确定它是来自第一个数据集还是来自下面的第二个数据集,请告诉我该怎么做。数据合并;设置数据1(in=a) 数据2(in=b);按身份证; if a then source=1;if b then source=2;run;
    • 这对我要求太高了。我尽可能避免使用 SAS。提出另一个问题并以与此问题类似的方式提出。意思是,展示你所拥有的,展示你所期望的。
    • 对不起...基本上,我只需要一个“标志”来指示来自“data1”和data2的数据。简单来说,创建一个名为“flag”的新变量,如果数据来自 data1,则将其赋值为 1,并为来自 data2 的数据赋值 2。希望清楚...再次感谢!
    • 我用可能有帮助的信息更新了我的帖子。
    猜你喜欢
    • 2017-09-05
    • 2015-02-27
    • 2014-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-21
    • 2017-07-23
    • 2014-03-07
    相关资源
    最近更新 更多