pandas dataframe 不要index ,列名
时间: 2023-05-09 15:04:17 浏览: 2249
在使用数据分析工具的过程中,Pandas DataFrame是非常强大且常用的工具。Pandas的DataFrame由行和列组成,行通常表示样本,列则表示特征或变量。而这些行和列都可以有自己的索引,其中行索引和列索引都可以用来提取DataFrame中的数据。但是,在有些情况下不需要使用索引来提取数据,这时就需要去掉DataFrame的行索引和列索引,来变成一个简单的二维数组。
不要索引和列名时,可以使用以下两种方法:
1.将DataFrame转换为二维ndarray数组
pandas的DataFrame对象有一个values属性,可以获取DataFrame的值。这样可以将DataFrame转换为一个二维数组,去掉索引和列名。
```python
import pandas as pd
import numpy as np
df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6], 'c': [7, 8, 9]})
print(df)
arry = df.values
print(arry)
```
此时会得到以下结果:
```python
a b c
0 1 4 7
1 2 5 8
2 3 6 9
[[1 4 7]
[2 5 8]
[3 6 9]]
```
这里通过values属性获取了数据并把它转变为一个二维数组。
2.使用reset_index()方法
除了直接使用values属性,还可以使用reset_index()方法来去掉索引和列名。因为reset_index()方法会将行索引重置为数字索引,并且在返回DataFrame对象之前删除列索引。这样就能去掉索引和列名。
```python
import pandas as pd
import numpy as np
df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6], 'c': [7, 8, 9]})
print(df)
df = df.reset_index(drop=True)
print(df)
```
此时会得到以下结果:
```python
a b c
0 1 4 7
1 2 5 8
2 3 6 9
a b c
0 1 4 7
1 2 5 8
2 3 6 9
```
可以看到,通过reset_index()方法,行索引重置为数字索引,并且删除了原来的列索引。
总结:
去掉DataFrame的索引和列名可以使用以上两种方式,其中转化为二维ndarray数组的方式更加简单,但需要注意DataFrame中各列的数据类型和值的数量要一致。如果要保留行索引和或列名,可以使用没有参数的reset_index()方法。这些方法使得DataFrame可以在适用于矩阵的算法中使用。
阅读全文