dataframe转换为数组
时间: 2023-10-09 09:07:51 浏览: 118
可以使用 Pandas 库中的 `to_numpy()` 方法将 DataFrame 转换为 NumPy 数组。示例如下:
```python
import pandas as pd
import numpy as np
# 创建 DataFrame
df = pd.DataFrame({
'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]
})
# 转换为数组
arr = df.to_numpy()
print(arr)
```
输出结果为:
```
[[1 4 7]
[2 5 8]
[3 6 9]]
```
你也可以使用 `.values` 属性来实现相同的功能,它与 `.to_numpy()` 方法等价:
```python
arr = df.values
print(arr)
```
输出结果同样为:
```
[[1 4 7]
[2 5 8]
[3 6 9]]
```
相关问题
DataFrame 转化为数组
DataFrame 对象可以通过 values 属性转换为一个 numpy 数组。values 属性返回一个包含 DataFrame 中所有数据的 numpy 数组。例如,假设有以下 DataFrame 对象:
```
A B C
0 1 2 3
1 2 3 4
2 3 4 5
```
我们可以使用 values 属性将其转换为一个 numpy 数组:
```python
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [2, 3, 4], 'C': [3, 4, 5]})
array = df.values
```
这将返回一个 numpy 数组:
```python
array([[1, 2, 3],
[2, 3, 4],
[3, 4, 5]])
```
需要注意的是,转换后的 numpy 数组是按照 DataFrame 中的行列顺序组织的。即先按行展开,再按列展开。如果需要按照列的顺序展开,可以使用 numpy 库中的 transpose() 函数对数组进行转置操作:
```python
array = df.values.transpose()
```
这将返回一个按照列顺序展开的 numpy 数组:
```python
array([[1, 2, 3],
[2, 3, 4],
[3, 4, 5]])
```
python 怎么将dataframe转化为数组
可以使用 `values` 方法将 Pandas DataFrame 转换为 NumPy 数组。例如:
```python
import pandas as pd
# 创建一个 DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c']})
# 将 DataFrame 转换为数组
arr = df.values
print(arr)
```
输出结果为:
```
array([[1, 'a'],
[2, 'b'],
[3, 'c']], dtype=object)
```
其中,每行数据都变成了一个数组。注意,如果 DataFrame 中有不同的数据类型,转换为数组时会将所有数据类型都转换为一致的类型,这里将字符串和数字都转换为了 object 类型。
阅读全文