pandas转numpy
时间: 2023-10-13 10:22:21 浏览: 102
Pandas和NumPy是Python中最常用的数据处理和分析工具。由于两者的数据类型和数据结构有所不同,因此在进行数据处理和分析时,有时需要将Pandas DataFrame或Series转换为NumPy数组。
下面是一些将Pandas转换为NumPy的方法:
1. 使用.values属性
Pandas DataFrame和Series都有一个.values属性,它返回一个NumPy数组,其中包含DataFrame或Series的数据。例如,将一个Pandas DataFrame df转换为NumPy数组:
```
import pandas as pd
import numpy as np
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
arr = df.values
print(arr)
```
输出:
```
array([[1, 4],
[2, 5],
[3, 6]])
```
2. 使用to_numpy()方法
Pandas DataFrame和Series也有一个to_numpy()方法,它返回一个NumPy数组,其中包含DataFrame或Series的数据。例如,将一个Pandas DataFrame df转换为NumPy数组:
```
import pandas as pd
import numpy as np
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
arr = df.to_numpy()
print(arr)
```
输出:
```
array([[1, 4],
[2, 5],
[3, 6]])
```
3. 使用numpy.asarray()函数
numpy.asarray()函数可以将Python对象转换为NumPy数组。例如,将一个Pandas DataFrame df转换为NumPy数组:
```
import pandas as pd
import numpy as np
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
arr = np.asarray(df)
print(arr)
```
输出:
```
array([[1, 4],
[2, 5],
[3, 6]])
```
总结:
以上三种方法都可以将Pandas DataFrame或Series转换为NumPy数组,但是使用.values属性或to_numpy()方法更为常用和方便。需要注意的是,这些方法返回的NumPy数组和原始对象之间没有共享数据,因此对NumPy数组的修改不会影响原始对象。
阅读全文