python - Pandas Dataframe 标头与正确的列不匹配
问题描述
我用这段代码打印熊猫数据框
df=pd.read_csv(pd.compat.StringIO(output),skiprows=[1,2,3,4,5,6,7,9])
new_header = df.iloc[0]
df = df[1:]
df.columns = new_header
print(df)
它显示这样的输出。数据框标头与正确的列不匹配。ID 标题不在第 2 列。
0 ID MAC Name Group IP Type State STA Uptime ExtraInfo
1 0 10c0-ffff-0000 TEST-A1 @1ABCD - AP12345 idle 0 - -
2 1 10c0-ffff-000f TEST-A2 @2ABCD 10.20.0.1 AP12345 nor 1 12D:5H:10M:16S -
我用print(df.columns)
它显示这样的输出。它看起来像标题不分开。
Index(['ID MAC Name Group IP Type State STA Uptime ExtraInfo'], dtype='object', name=0)
所以我像这样使用 delim_whitespace 来编辑代码。
df=pd.read_csv(pd.compat.StringIO(output),skiprows=[1,2,3,4,5,6,7,9],delim_whitespace=True)
显示标题的输出是print(df.columns)
这样的。
Index(['STA', 'Uptime', 'ExtraInfo'], dtype='object', name=('ID', 'MAC', 'Name', 'Group', 'IP', 'Type', 'State'))
我将数据导出到 csv,但它只显示标题 3 列,就像这张图片一样。
我print(df)
它显示这样的输出。
('ID', 'MAC', 'Name', 'Group', 'IP', 'Type', 'State')
STA ... ExtraInfo
0
10c0-ffff-0000 TEST-A1 @1ABCD - AP12345 idle 0 ... -
1
10c0-ffff-000f TEST-A2 @1ABCD 10.20.0.1 AP12345 nor 0 ... -
为什么数据框标题与正确的列不匹配?如何解决?
解决方案
根据您描述的数据,您可以结合两种方法,您只需关闭标题,然后像第一次尝试那样做。我希望这对你有用!
df=pd.read_csv(pd.compat.StringIO(output), header=None, skiprows=[1,2,3,4,5,6,7,9], delim_whitespace=True)
new_header = df.iloc[0]
df = df[1:]
df.columns = new_header
print(df.columns)
推荐阅读
- javascript - 在javascript(不是jquery)中返回父节点的类
- scala - Slick 结果集大小默认限制
- javascript - 我有基于日期输入的带有动态链接的 JS 表单,我需要以 DD-MM-YYYY 格式输出
- javascript - 如何将许多使用相同 javascript 的 html 按钮添加到循环结果中?
- excel - Conditional formatting, search formula
- c - GSL multiple error handler definition error when linking
- excel - Copying only new entries from a sheet that meet a criteria and adding at the end of a column in another sheet
- node.js - 在 Electron 应用程序中找不到节点模块
- angular - Ionic 3 - How to retrieve firebase data after facebook login
- python - Python IOError:[Errno 5] 输入/输出错误?