该函数从另一个数据框中获取列并在新数据框中返回

时间:2018-07-16 18:42:00

标签: python python-3.x pandas numpy dataframe

我是一个非常新的人,所以请问这个问题是否很基本,但是我有一个带有一些列(Open High Low和Close)的数据框。我想编写一个简单的函数,该函数只接受Close列(作为默认值,但允许指定其他任何列),并仅返回包含该列的新数据框。

我下面的代码只返回一个带有列名但没有数据的数据框

import pandas as pd

df = pd.read_csv('Book2.csv')
df = df.loc[2:, :'Close'].drop('Unnamed: 7', axis=1)
df.rename(columns={'Unnamed: 0': 'X'}, inplace=True)
df.drop(['O', 'H', 'L'], axis=1, inplace=True)


def agg_data(ys):
    agg_df = pd.DataFrame(ys, columns=['Y Values'])
    return agg_df


result = agg_data(df['Close'])
print(result)

1 个答案:

答案 0 :(得分:0)

当您的数据已经是pandas数据帧时,则无需将数据放入pd.DataFrame()。如果我误解了您想要什么,请纠正我,但据我所知,这应该足够了:

result = df['close'].copy()

如果您不使用copy(),则对 result 进行更改时,初始 df 也将更改,因此,由于您需要一个新的数据框(或一系列,因为它是一维的),可能正是您想要的。