如何在更改列名称时正确读取熊猫中的csv

一个绝对基本的阅读问题

我在csv文件中有如下数据-

日期、开盘价、高价、低价、收盘价、WAP、股份数量、交易数量、总营业额、可交付数量,%Deli。交易数量、价差高低、价差平仓
2015年2月28日52270.002310.002258.002294.852279.192067772602217319734228043167342840.0011556,15.74,52.00,24.85
2012年2月27日52267.252280.852258.0022266.352269.2398414857751227305072149381150981114.0012297,24.24,22.85,-0.90
2011年2月26日52314.902314.902250.002259.502277.19832486219460047698458403159050917.0022046,31.56,64.90,-55.40
2015年2月25日52290.002332.002278.352318.052315.10061421648816321416199510174375034724.00102972,63.56,53.65,28.05
2011年2月24日52276.052295.002258.152281.0589462402633442425225177261119187611.0013292,25.44,37.00,2.10
2011年2月23日52303.952311.002253.252270.702281.912259219760108491759517344173313518.0024969,32.88,57.75,-33.25
2012年2月20日52324.002335.202277.002284.302301.6314211523263544787971710233183479152.0023045,28.91,58.20,-39.70
2011年2月19日52304.002333.902292.002326.602321.4854663016252111608583588847199264705.0029728,34.63,41.90,22.60
2015年2月18日52284.002305.002261.102295.752282.060986778089405300698846639159479550.0026665,38.16,43.90,11.75
2015年2月16日52281.002305.852266.002278.502284.961866239581019628854110149195457923.0022164,25.91,39.85,-2.50
2012年2月13日52311.002324.902286.952296.402311.3712351131768641097315570253629077.0069039,62.92,37.95,-14.60
2012年2月12日52280.002322.852275.002315.452301.3720382117694255697669095183571124.0033981,42.60,47.85,35.45
2011年2月11日52275.002295.002258.252287.202279.58796625002063966460563746138058686.0020058,33.12,36.75,12.20
2015年2月10日52244.902297.402225.002280.302269.56222821483029310414165613026321497107.0055577,39.23,72.40,35.40

我正在尝试使用以下read_csv变体在熊猫数据框中读取此数据。我只对两个专栏感兴趣

z=pd.read\u csv('file.csv',parse\u dates=True,index\u col=“Date”,usecols=[“日期”,“开盘价”,“收盘价”],name=[“日期”,“O”,“C”],表头=0)

我得到的是

O C
日期
2015-02-28楠楠
2015-02-27楠楠
2015-02-26楠楠
2015-02-25楠楠
2015-02-24楠楠
或
z=pd.read\u csv('file.csv',parse\u dates=True,index\u col=“Date”,usecols=[“日期”,“开盘”,“收盘”],name=[“日期”,“开盘价”,“收盘价”],表头=0)

结果是——

开盘价收盘价
日期
2015-02-28楠楠
2015-02-27楠楠
2015-02-26楠楠
2015-02-25楠楠

我是否遗漏了一些基本的东西,或者pandas0.13.1——我的Debian Wheezy版本存在问题

您是对的,name属性有些奇怪。在我看来,你不能同时使用两者。您可以为CSV文件的每一列设置名称,也可以根本不设置名称。因此,当您不使用所有列时,似乎无法设置名称(usecols

名称:类似数组
要使用的列名列表。如果文件不包含标题行,则应显式传递header=None

你可能已经知道了,但你也可以用它来重新命名柱

将熊猫作为pd导入
从StringIO导入StringIO
csv=r“日期、开盘价、高价、低价、收盘价、WAP、股份数量、交易数量、总营业额、可交付数量、%熟食数量与交易数量、价差高低、价差平盘
2015年2月28日52270.002310.002258.002294.852279.192067772602217319734228043167342840.0011556,15.74,52.00,24.85
2012年2月27日52267.252280.852258.0022266.352269.2398414857751227305072149381150981114.0012297,24.24,22.85,-0.90
2011年2月26日52314.902314.902250.002259.502277.19832486219460047698458403159050917.0022046,31.56,64.90,-55.40
2015年2月25日52290.002332.002278.352318.052315.10061421648816321416199510174375034724.00102972,63.56,53.65,28.05
2011年2月24日52276.052295.002258.152281.0589462402633442425225177261119187611.0013292,25.44,37.00,2.10
2011年2月23日52303.952311.002253.252270.702281.912259219760108491759517344173313518.0024969,32.88,57.75,-33.25
2012年2月20日52324.002335.202277.002284.302301.6314211523263544787971710233183479152.0023045,28.91,58.20,-39.70
2011年2月19日52304.002333.902292.002326.602321.4854663016252111608583588847199264705.0029728,34.63,41.90,22.60
2015年2月18日52284.002305.002261.102295.752282.060986778089405300698846639159479550.0026665,38.16,43.90,11.75
2015年2月16日52281.002305.852266.002278.502284.961866239581019628854110149195457923.0022164,25.91,39.85,-2.50
2012年2月13日52311.002324.902286.952296.402311.3712351131768641097315570253629077.0069039,62.92,37.95,-14.60
2012年2月12日52280.002322.852275.002315.452301.3720382117694255697669095183571124.0033981,42.60,47.85,35.45
2011年2月11日52275.002295.002258.252287.202279.58796625002063966460563746138058686.0020058,33.12,36.75,12.20
2015年2月10日52244.902297.402225.002280.302269.56222821483029310414165613026321497107.0055577,39.23,72.40,35.40“
df=pd.read_csv(字符串(csv)),
usecols=[“日期”、“开盘价”、“收盘价”],
页眉=0)
df.columns=['Date','O','C']
df

输出:

日期O C
0 2015年2月28日2270.00 2294.85
2015年2月27日2267.25 2266.35
2015年2月26日2314.90 2259.50
3 2015年2月25日2290.00 2318.05
4-2015年2月24日2276.05 2278.15
5 2015年2月23日2303.95 2270.70
6-2015年2月20日2324.00 2284.30
7-2015年2月19日2304.00 2326.60
8-2015年2月18日2284.00 2295.75
9-2015年2月16日2281.00 2278.50
2015年2月10日至13日2311.00 2296.40
2015年2月11日12日2280.00 2315.45
2015年2月12日11日2275.00 2287.20
13-2015年2月10日2244.90 2280.30

发表评论