【发布时间】:2021-08-23 20:03:25
【问题描述】:
我使用 pandas 数据框来绘制 csv。用光谱仪采集的数据。
df = pd.read_csv("C:\\file.csv") # import file
输出表总是由对组成的
| sample 1 | Unnamed:1 | sample 2 | Unnamed:2 | ... |
|---|---|---|---|---|
| wavelengths | transmission 1 | wavelengths | transmission 2 | ... |
属于每个样本的一列(“样本 1”、“样本 2”、...),其中有关样本的相关信息存储在标题中,但该列仅包含波长信息
实际上包含相关测量信息的一个编号列('Unnamed: 1'、'Unnamed: 2'、...)
我现在想将数据显示为波长的函数。如果我使用删除所有包含冗余波长信息的列
df = df.drop(data.columns[1,37], axis=1, inplace=False)
我丢失了标题中包含的样本信息 我现在正在考虑交换列标题,然后删除我不需要的列。 我当然可以使用某些东西按名称交换列
df[['sample 1','Unnamed: 1']]=df[['Unnamed: 1','sample 1']]
但是我必须为每个有时包含超过 10 个配对列的新数据系列输入名称。
有没有办法通过索引交换标题? 或者你能想到一个更优雅的版本吗?这种表格数据输出形式,其中标题总是跨越两列,当然不是孤立的情况。 非常感谢
【问题讨论】:
-
我没有得到你真正想要的东西。如果您需要使用列名进行过滤,请使用:
df.filter(like='samp') -
你的 DataFrame 有单行吗?
-
你想要这样的东西吗:stackoverflow.com/questions/66581283/…?
标签: python pandas dataframe multiple-columns