【问题标题】:how to merge two excel columns in python using colab如何使用colab在python中合并两个excel列
【发布时间】:2021-07-04 14:02:18
【问题描述】:

我正在从事一个面向数据的项目,我们有一些癌症测量值,并希望使用 K-means 算法进行分类。

现在我有两个基本的示例数据集,有两两列,但 K-means 算法只需要 2 列,所以我决定将这些列连接起来,但我该怎么做呢?

例如 fst 数据集如下所示:

0   2713.9  566.42
1   2718.9  566.42
2   2723.3  566.25
3   2729.5  565.99
4   2735.9  565.83

snd 看起来像这样:

0   6571.5  959.12
1   6571.6  959.13
2   6571.7  959.12
3   6571.7  959.16
4   6571.7  959.15

我想要这样的东西(当然没有行号):

0   2713.9  566.42
1   2718.9  566.42
2   2723.3  566.25
3   2729.5  565.99
4   2735.9  565.83
0   6571.5  959.12
1   6571.6  959.13
2   6571.7  959.12
3   6571.7  959.16
4   6571.7  959.15

我试过这个:

X = ds1[ds1.columns[2:4]].append(ds2[ds2.columns[2:4]])
X

得到了这个:

0   2713.9  566.42  NaN     NaN
1   2718.9  566.42  NaN     NaN
2   2723.3  566.25  NaN     NaN
3   2729.5  565.99  NaN     NaN
4   2735.9  565.83  NaN     NaN
...     ...     ...     ...     ...
44  NaN     NaN     6571.8  959.01
45  NaN     NaN     6571.7  959.00
46  NaN     NaN     6571.7  958.98
47  NaN     NaN     6571.5  959.00
48  NaN     NaN     6571.4  959.01

也得到了这个代码:

X = pd.concat([ds1[ds1.columns[2:4]], ds2[ds2.columns[2:4]]],  axis=0, join='outer', ignore_index=False)

我该怎么做?有什么方法可以解决这个问题,还是我必须在 Excel 中转换数据?

【问题讨论】:

    标签: python pandas dataframe numpy


    【解决方案1】:

    通过vstack()尝试:

    out=pd.DataFrame(np.vstack((ds1.columns[2:4].values,ds2[ds2.columns[2:4]].values)))
    

    通过concatenate():

    out=pd.DataFrame(np.concatenate((ds1.columns[2:4].values,ds2[ds2.columns[2:4]].values)))
    

    out=ds1[ds1.columns[2:4]].append(ds2[ds2.columns[2:4]]).T.agg(sorted,key=pd.isnull).dropna().T
    

    您还可以重命名任何 1 个数据集的列的名称,以便 df 的两个子集具有相同的名称,然后使用 concat()append() 它们

    【讨论】:

    • 谢谢,这样工作:out=pd.DataFrame(np.concatenate((ds1[ds1.columns[2:4]],ds2[ds2.columns[2:4]].values)))
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-15
    • 2021-02-11
    • 2021-10-07
    • 1970-01-01
    • 2014-08-01
    • 1970-01-01
    相关资源
    最近更新 更多