python转置df,并在后面添加一列label,以“N”标识正常样本,以“C”标识肿瘤样本,这些信息可以从“GSE83148_series_matrix.txt”基因芯片文件的“!Sample_title”行提取,打印并保存df¶
时间: 2023-12-27 11:02:56 浏览: 84
好的,您可以使用 Pandas 提供的函数 `T` 来转置 DataFrame,使用 `str.contains()` 函数和 `apply()` 函数来从 `GSE83148_series_matrix.txt` 文件中提取样本标签信息,使用 `rename()` 函数来重命名列名,最后使用 `to_csv()` 函数将 DataFrame 保存到 CSV 文件。具体的代码如下:
```python
# 转置 df
df = df.T
# 提取样本标签信息
sample_titles = df.iloc[0]['!Sample_title']
labels = sample_titles.apply(lambda x: 'N' if 'normal' in x else 'C')
# 添加 label 列
df = df.assign(label=labels.values)
# 重命名列名
df = df.rename(columns={'Unnamed: 0': 'Gene'})
# 打印 df
print(df)
# 将 DataFrame 保存到 CSV 文件
df.to_csv('result.csv', index=False)
```
其中,`T` 函数用于转置 DataFrame,`iloc[0]` 用于获取第一行数据,`apply()` 函数用于将样本标题中包含 `normal` 的标注为 `N`,其他的标记为 `C`。`assign()` 函数用于新增一列 label,`rename()` 函数用于重命名列名。最后使用 `print()` 函数打印 df,并使用 `to_csv()` 函数将 DataFrame 保存到 CSV 文件。
阅读全文