首页 > 解决方案 > 在python中从一个系列中创建两个数组

问题描述

我有一个系列(在我的代码中保存为系列),并希望使用 python 将其值保存到两个不同的数组中。我想保存在一个名为 的数组中的前六个值x,其中:

series[0] = x[0,0], series[1] = x[0,1], series[2] = x[0,2], series[3] = x[0,3], series[4] = x[0,4], series[5] = x[0,5], series[6] = x[0,6].

现在切换到series[7] = y[0]. x然后重复并在: 中创建一个新行series[8] = x[1,0], series[9] = x[1,1], series[10] = x[1,2], series[11] = x[1,3], series[12] = x[1,4], series[13] = x[1,5], series[14] = x[1,6]。现在切换到series[14] = y[1]并继续。

我只能读取 .csv 文件并将其从数据框转换为系列。我认为这个问题可以使用嵌套的 for 循环来解决,但一直无法解决。谢谢您的帮助!

Python

import pandas as pd
import numpy as np 
import matplotlib.pyplot as plt
import matplotlib.dates as mdates

df = pd.read_csv("Data.csv")

series = df['totalBuildingEnergykW_EVERLY_HALL_BUILDING_ENERGY_EnergyMetric']

系列片段

标签: pythonpandasfor-loop

解决方案


使用 df['Column_name'].tolist() 函数将数据从数据框的列获取到列表中是一个更好的主意,因为这会为您提供列表格式的数据。

import pandas as pd
import numpy as np 
df = pd.read_csv("File.csv")
L = df['column_name'].tolist() 
w, h = 6, 2;
Arr = [[0 for x in range(w)] for y in range(h)] 
for i,item in enumerate(L):
    if i<6 :
         Arr[0][i] = item
    else :
         Arr[1][i-6] = item

推荐阅读