这是一个使用unstack()
出现的数据框df<?php
/**
* Laravel - A PHP Framework For Web Artisans
*
* @package Laravel
* @author Taylor Otwell <taylor@laravel.com>
*/
define('LARAVEL_START', microtime(true));
require __DIR__.'../lsapp/vendor/autoload.php';
$app = require_once __DIR__.'../lsapp/bootstrap/app.php';
我尝试使用
切割部分数据框Index 0 7 21 22 23
June 89 0 3 5 2
July 30 0 2 5 4
August 20 8 5 5 5
我尝试使用
切割部分数据框df2=df.loc[: , :'21']
但我有这个错误:
keyError:'21'
答案 0 :(得分:3)
错误表示没有列21
作为字符串。
检查:
#integers columns
print (df.columns.tolist())
[0, 7, 21, 22, 23]
#strings columns
#print (df.columns.tolist())
#['0', '7', '21', '22', '23']
您可以使用Series
整数21
:
df2 = df[21]
print (df2)
Index
June 3
July 2
August 5
Name: 21, dtype: int64
对于一列DataFrame
,请使用双[]
:
df2 = df[[21]]
print (df2)
21
Index
June 3
July 2
August 5
编辑:
另一个问题应该是尾随空格:
print (df.columns.tolist())
['0', '7', ' 21 ', '22', '23']
并删除需要str.strip
:
df.columns = df.columns.str.strip()
print (df.columns.tolist())
['0', '7', '21', '22', '23']
EDIT1:
对于值为24
且数据错误的过滤列,对errors='coerce'
的{{1}} to_numeric
使用{{3}}作为不可解析的值:
NaN