如何拆分数据两列并重命名
How to split the data two columns and rename it
你好,我有一些问题,想对我编写的代码提出一些建议。 text file I use
代码
import pandas as pd
import numpy as np
filename = '100m.txt'
#read text file into pandas DataFrame
df = pd.read_csv(filename, sep="\t")
#drop the unwanted rows
df.drop(df.index[0:2], inplace=True)
#display DataFrame
print(df)
我在删除列之前获得的输出:
#"Frequency / MHz" S2,1 [SPara1] [Magnitude in dB]
#----------------------------------------------... NaN
0.13800000000000 -0.86382723874573
0.14231250000000 -0.87087313013279
0.14662500000000 -0.87829259771590
... ...
17.646750000000 -7.4030582653105
17.651062500000 -7.4207444253551
17.655375000000 -7.4408195390888
17.659687500000 -7.4589436977625
17.664000000000 -7.4799578201591
[4067 rows x 1 columns]
在我删除该列之后,但不知何故,数据中出现了“#
,并且所有数据都在一列中,而不是我预期的两列。
#
0.13800000000000 -0.86382723874573
0.14231250000000 -0.87087313013279
0.14662500000000 -0.87829259771590
0.15093750000000 -0.88573009666901
0.15525000000000 -0.89247663245258
[4065 rows x 1 columns]
如何让数据拆分成两行并重命名列?提前谢谢你。
您应该在 DataFrame 中解析时处理这个问题。在尝试删除之前打印 DataFrame 时,请注意它是如何显示 [4067 行 x 1 列] 的?加载 CSV 时包含这三行会破坏它使用指定的 '\t' 分隔符正确拆分的能力。
示例代码:
df = pd.read_csv(
filename,
sep="\t",
skiprows=3,
names=['frequency', 'magnitude'],
)
您也可以如上例所示在自己的列名中进行解析,因为我们在解析数据时完全忽略了这些行。
导致:
你好,我有一些问题,想对我编写的代码提出一些建议。 text file I use
代码
import pandas as pd
import numpy as np
filename = '100m.txt'
#read text file into pandas DataFrame
df = pd.read_csv(filename, sep="\t")
#drop the unwanted rows
df.drop(df.index[0:2], inplace=True)
#display DataFrame
print(df)
我在删除列之前获得的输出:
#"Frequency / MHz" S2,1 [SPara1] [Magnitude in dB]
#----------------------------------------------... NaN
0.13800000000000 -0.86382723874573
0.14231250000000 -0.87087313013279
0.14662500000000 -0.87829259771590
... ...
17.646750000000 -7.4030582653105
17.651062500000 -7.4207444253551
17.655375000000 -7.4408195390888
17.659687500000 -7.4589436977625
17.664000000000 -7.4799578201591
[4067 rows x 1 columns]
在我删除该列之后,但不知何故,数据中出现了“#
,并且所有数据都在一列中,而不是我预期的两列。
#
0.13800000000000 -0.86382723874573
0.14231250000000 -0.87087313013279
0.14662500000000 -0.87829259771590
0.15093750000000 -0.88573009666901
0.15525000000000 -0.89247663245258
[4065 rows x 1 columns]
如何让数据拆分成两行并重命名列?提前谢谢你。
您应该在 DataFrame 中解析时处理这个问题。在尝试删除之前打印 DataFrame 时,请注意它是如何显示 [4067 行 x 1 列] 的?加载 CSV 时包含这三行会破坏它使用指定的 '\t' 分隔符正确拆分的能力。
示例代码:
df = pd.read_csv(
filename,
sep="\t",
skiprows=3,
names=['frequency', 'magnitude'],
)
您也可以如上例所示在自己的列名中进行解析,因为我们在解析数据时完全忽略了这些行。
导致: