对pandas提取的数据转化为array
时间: 2024-02-26 16:56:20 浏览: 94
可以使用pandas库中的`to_numpy()`函数将提取的数据转化为array,示例代码如下:
```python
import pandas as pd
import numpy as np
# 创建一个DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
# 将DataFrame转化为array
arr = df.to_numpy()
# 打印转化后的array
print(arr)
```
输出:
```
array([[1, 4],
[2, 5],
[3, 6]])
```
相关问题
data = pd.read_excel("D:/PycharmProjects/cluster220422/聚类后数据1000_excel/" + cond) # # print(data) # # 首先将pandas读取的数据转化为array # data = np.array(data) # # 然后转化为list形式 # data = data.tolist() # # print(data),df = pd.read_csv("F:/XH_WY_ZH_ALL/XH_WY_ZH_ALL/XH_WY_ZH_ALL/" + cond) # os.mkdir(r"G:/功图/" + cond) # 选择需要提取的两列数据 col1 = df['WY'] col2 = df['ZH'] # 合并两列数据 new_col = col1.astype(str) + ',' + col2.astype(str) # 将合并后的数据保存为新文件 new_df = pd.DataFrame({'WYZH': new_col}) # 分列 new_df = new_df['WYZH'].str.split(',', expand=True) new_df = pd.DataFrame(new_df) # 首先将pandas读取的数据转化为array data = np.array(new_df) # 然后转化为list形式 data = data.tolist() # print(data)如何让第二个代码输出的数据和第一代码的输出格式相同
可以使用 pandas 中的 to_numpy() 方法将 DataFrame 对象转换为 numpy 数组,然后再使用 numpy 数组的 tolist() 方法将其转换为列表,最终得到和第一段代码输出格式相同的数据。修改后的代码如下:
```
import pandas as pd
import numpy as np
df = pd.read_csv("F:/XH_WY_ZH_ALL/XH_WY_ZH_ALL/XH_WY_ZH_ALL/" + cond)
col1 = df['WY']
col2 = df['ZH']
new_col = col1.astype(str) + ',' + col2.astype(str)
new_df = pd.DataFrame({'WYZH': new_col})
new_df[['WY', 'ZH']] = new_df['WYZH'].str.split(',', expand=True)
data = new_df[['WY', 'ZH']].to_numpy().tolist()
print(data)
```
data = pd.read_excel("D:/PycharmProjects/cluster220422/聚类后数据1000_excel/" + cond) # os.mkdir(r"D:/PycharmProjects/cluster220422/聚类后数据1000_png/" + str(condnum)) # # print(data) # # 首先将pandas读取的数据转化为array # data = np.array(data) # # 然后转化为list形式 # data = data.tolist() # # print(data),datapath = "F:/XH_WY_ZH_ALL/XH_WY_ZH_ALL/XH_WY_ZH_ALL/" conds = os.listdir(datapath) for cond in conds: df = pd.read_csv("F:/XH_WY_ZH_ALL/XH_WY_ZH_ALL/XH_WY_ZH_ALL/" + cond) # os.mkdir(r"G:/功图/" + cond) # 选择需要提取的两列数据 col1 = df['WY'] col2 = df['ZH'] # 合并两列数据 new_col = col1.astype(str) + ',' + col2.astype(str) # 将合并后的数据保存为新文件 new_df = pd.DataFrame({'WYZH': new_col}) # 分列 new_df = new_df['WYZH'].str.split(',', expand=True) new_df = pd.DataFrame(new_df) # 首先将pandas读取的数据转化为array data = np.array(new_df) # 然后转化为list形式 data = data.tolist() print(data) 如何让第二个代码输出的数据和第一代码的输出格式相同
你的第一个代码输出的数据格式是一个列表嵌套多个列表,每个列表代表一个Excel文件中的数据。而第二个代码输出的数据格式是一个列表嵌套多个元组,每个元组代表一个CSV文件中的两列数据。如果你想让第二个代码输出的数据格式和第一个代码相同,可以在最后将列表中的每个元组转换为一个列表,然后再将这些列表组成一个大的列表。修改后的代码如下:
```
import os
import pandas as pd
import numpy as np
datapath = "F:/XH_WY_ZH_ALL/XH_WY_ZH_ALL/XH_WY_ZH_ALL/"
conds = os.listdir(datapath)
data_list = []
for cond in conds:
df = pd.read_csv("F:/XH_WY_ZH_ALL/XH_WY_ZH_ALL/XH_WY_ZH_ALL/" + cond)
col1 = df['WY']
col2 = df['ZH']
new_col = col1.astype(str) + ',' + col2.astype(str)
new_df = pd.DataFrame({'WYZH': new_col})
new_df = new_df['WYZH'].str.split(',', expand=True)
new_df = pd.DataFrame(new_df)
data = np.array(new_df)
data = data.tolist()
data_list.append(data)
print(data_list)
```
这样修改后,第二个代码输出的数据格式就和第一个代码相同了。
阅读全文