嘿,我正在尝试在 pandas 中读取 csv 文件,您可以 download from here (euribor 利率我想你可以想象我想要这个文件的原因!)。该文件是一个 CSV 文件,但它的方向有些奇怪。如果您将其导入到 Excel 文件中,则格式为
02/01/2012,03/01/2012,04/01/2012,,,,
1w 0.652,0.626,0.606,,,,
2w,0.738,0.716,0.700,,,,
将第一列提高到 12m(但我已经为您提供了可以下载示例的链接)。我想用 Pandas 阅读它,但我无法以正确的方式阅读它。 Pandas 有一个用于读取 csv 文件的内置函数,但它希望以某种方式面向行而不是面向列。我想要做的是获取标记为 3m 并具有值和日期的行的信息,以便绘制该索引的时间变化。但我无法处理这个问题。我知道我可以用
读取数据import pandas
data = pandas.io.read_csv("file.csv",parse_dates=True)
但如果 csv 文件以某种方式转置,它就会工作。 H
最佳答案
pandas dataframe 有一个 .transpose()
方法,但它不喜欢这个文件中的所有空行。清理方法如下:
df = pandas.read_csv("hist_EURIBOR_2012.csv") # Read the file
df = df[:15] # Chop off the empty rows beyond 12m
df2 = df.transpose()
df2 = df2[:88] # Chop off what were empty columns (I guess you should increase 88 as more data is added.
当然,您可以将它们链接在一起:
df2 = pandas.read_csv("hist_EURIBOR_2012.csv")[:15].transpose()[:88]
那么df2['3m']
就是你要的数据,但是日期还是以字符串的形式存储的。我不太确定如何将其转换为 DateIndex
。
关于python - Pandas 阅读 csv 方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10484106/