我正在学习使用pandas进行数据分析,所需数据以csv文件形式提供,包含多列,但我只需要其中的四列(日期、时间、o、c)。我想创建一个新的DataFrame,将DateTime64数字作为索引,该数字由合并前两列并对合并后的字符串应用pd.to_datetime得到。
我的加载代码运行良好。
挑战在于将加载的DataFrame转换为新的格式正确的DataFrame。下面的代码可以工作,但速度非常慢。此外,它只创建了一个新的datetime64格式列,并未将其设置为索引。
我的代码:
有什么更符合Python风格的方法可以合并两列,并对结果应用函数? 如何使新列成为DataFrame的索引?
我的加载代码运行良好。
st = pd.read_csv("C:/Data/stockname.txt", names=["date","time","o","h","l","c","vol"])
挑战在于将加载的DataFrame转换为新的格式正确的DataFrame。下面的代码可以工作,但速度非常慢。此外,它只创建了一个新的datetime64格式列,并未将其设置为索引。
我的代码:
st_new = pd.concat([pd.to_datetime(st.date + " " + st.time), (st.o + st.c) / 2, st.vol],
axis = 1, ignore_index=True)
有什么更符合Python风格的方法可以合并两列,并对结果应用函数? 如何使新列成为DataFrame的索引?
parse_dates
的神奇功能。@Jeff 这是新的吗? - Phillip Cloud(st.o + st.c) / 2
这样添加两列,因为加载直接发生在DataFrame中。 - Alessandro Quattrocchi