【发布时间】:2018-08-29 21:41:29
【问题描述】:
所以我已经尝试了我所知道的一切来让它工作,这似乎不仅仅是令人沮丧的。
问题来了:
Age Complete Location Sample Sample Type Tumor
0 None True None None None None
1 None True None None None None
2 None True None None None None
3 None True None None None None
4 None True None None None None
5 None True None None None None
6 None True None None None None
7 None True None None None None
8 None True None None None None
9 None True None None None None
这是我用 None 类型对象填充的空数据框。
以下是我从 CSV 读取并按样本类型分组的数据
Age Complete Location Sample Sample Type Tumor
0 43 True LUNG 1 Blood Benign
2 12 True LUNG 3 Blood Benign
4 32 True LUNG 5 Blood Malignant
6 13 True LUNG 7 Blood Malignant
7 53 True HEART 8 Blood Malignant
1 23 True LUNG 2 FFPE Benign
3 54 True LUNG 4 FFPE Benign
5 53 True LUNG 6 FFPE Malignant
8 123 True HEART 9 FFPE Benign
9 43 True HEART 10 FFPE Benign
我希望完成的是用第二个数据帧中的值以一种优雅的方式更新第一个数据帧的值,以便数据帧一个的输出看起来像。
Age Complete Location Sample Sample Type Tumor
0 43 True LUNG 1 Blood Benign
2 12 True LUNG 3 Blood Benign
4 32 True LUNG 5 Blood Malignant
6 13 True LUNG 7 Blood Malignant
7 53 True HEART 8 Blood Malignant
1 23 True LUNG 2 FFPE Benign
3 54 True LUNG 4 FFPE Benign
5 53 True LUNG 6 FFPE Malignant
8 123 True HEART 9 FFPE Benign
9 43 True HEART 10 FFPE Benign
我尝试过的事情并没有让我得到想要的结果
删除列然后将它们重新附加到数据框 1 中,这给了我没有被证明有用的非分组值
使用
pd.concat([dataframe 1, data frame 2], axis=1)
它返回了非组对象类型
Age Complete Location Sample Sample Type Tumor \
0 43 True LUNG 1 Blood Benign
1 23 True LUNG 2 FFPE Benign
2 12 True LUNG 3 Blood Benign
3 54 True LUNG 4 FFPE Benign
4 32 True LUNG 5 Blood Malignant
5 53 True LUNG 6 FFPE Malignant
6 13 True LUNG 7 Blood Malignant
7 53 True HEART 8 Blood Malignant
8 123 True HEART 9 FFPE Benign
9 43 True HEART 10 FFPE Benign
我也做了一个 .join,但它未能将 None 与数据框 2 中的对象值进行比较以进行设置?
我能做的最好的工作是遍历列和行并逐个更新每个单元格。
有人有什么想法吗?
【问题讨论】:
-
你已经有了你想要的
dataframe,所以只需使用df1 = df2.copy()
标签: python-3.x pandas