DataFrame转为数组
时间: 2024-05-01 20:21:04 浏览: 83
可以使用 `values` 属性将 pandas 的 DataFrame 对象转换为数组。示例如下:
```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]})
# 将 DataFrame 转换为数组
arr = df.values
# 输出数组
print(arr)
```
输出结果如下:
```
[[1 4 7]
[2 5 8]
[3 6 9]]
```
这里的 `arr` 是一个二维的 numpy 数组,每一行对应一个 DataFrame 的一行,每一列对应一个 DataFrame 的一列。如果 DataFrame 中含有非数值类型的数据,那么它们会被转换为 object 类型的数据。
相关问题
我将一个dataframe转为numpy数组时如何保存其中的日期仍未日期格式
在将DataFrame转换为numpy数组时,日期数据会被转换为numpy中的datetime64类型。如果你想将其保留为日期格式,可以使用pandas.to_datetime()方法将其转换为pandas中的日期类型。具体实现可以按照以下步骤:
1. 将DataFrame转换为numpy数组:
```python
import pandas as pd
import numpy as np
df = pd.DataFrame({'date': ['2021-01-01', '2021-01-02', '2021-01-03'], 'value': [1, 2, 3]})
arr = np.array(df)
```
2. 将日期列转换为pandas中的日期类型:
```python
arr[:, 0] = pd.to_datetime(arr[:, 0])
```
这样,数组中的日期列就会保留为pandas中的日期类型。
dataframe转为二维数组
你可以使用`values`属性将DataFrame对象转换为二维数组。下面是一个示例:
```python
import pandas as pd
# 创建一个DataFrame示例
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
# 将DataFrame转换为二维数组
array = df.values
print(array)
```
这将输出以下结果:
```
[[1 4]
[2 5]
[3 6]]
```
在这个例子中,DataFrame的每一列被转换成了二维数组的一列。
阅读全文