Python 将CSV加载到多索引数据帧
我有一个719mb的CSV文件,看起来像:Python 将CSV加载到多索引数据帧,python,csv,numpy,pandas,Python,Csv,Numpy,Pandas,我有一个719mb的CSV文件,看起来像: from, to, dep, freq, arr, code, mode (header row) RGBOXFD,RGBPADTON,127,0,27,99999,2 RGBOXFD,RGBPADTON,127,0,33,99999,2 RGBOXFD,RGBRDLEY,127,0,1425,99999,2 RGBOXFD,RGBCHOLSEY,127,0,52,99999,2 RGBOXFD,RGBMDNHEAD,127,0,91,99999,
from, to, dep, freq, arr, code, mode (header row)
RGBOXFD,RGBPADTON,127,0,27,99999,2
RGBOXFD,RGBPADTON,127,0,33,99999,2
RGBOXFD,RGBRDLEY,127,0,1425,99999,2
RGBOXFD,RGBCHOLSEY,127,0,52,99999,2
RGBOXFD,RGBMDNHEAD,127,0,91,99999,2
RGBDIDCOTP,RGBPADTON,127,0,46,99999,2
RGBDIDCOTP,RGBPADTON,127,0,3,99999,2
RGBDIDCOTP,RGBCHOLSEY,127,0,61,99999,2
RGBDIDCOTP,RGBRDLEY,127,0,1430,99999,2
RGBDIDCOTP,RGBPADTON,127,0,115,99999,2
and so on...
我想加载到熊猫数据帧中。现在我知道有一个加载自csv的方法:
r = pd.DataFrame.from_csv('test_data2.csv')
但我特别希望将其加载为“多索引”数据帧,其中from和to是索引:
因此,最终:
dep, freq, arr, code, mode
RGBOXFD RGBPADTON 127 0 27 99999 2
RGBRDLEY 127 0 33 99999 2
RGBCHOLSEY 127 0 1425 99999 2
RGBMDNHEAD 127 0 1525 99999 2
等等。我不知道怎么做?您可以使用:
其中我使用了skipinitialspace=True
来消除标题行中那些讨厌的空格。from_csv()的工作原理类似:
import pandas as pd
df = pd.DataFrame.from_csv(
'data.txt',
index_col = [0, 1]
)
print df
--output:--
dep freq arr code mode
from to
RGBOXFD RGBPADTON 127 0 27 99999 2
RGBPADTON 127 0 33 99999 2
RGBRDLEY 127 0 1425 99999 2
RGBCHOLSEY 127 0 52 99999 2
RGBMDNHEAD 127 0 91 99999 2
RGBDIDCOTP RGBPADTON 127 0 46 99999 2
RGBPADTON 127 0 3 99999 2
RGBCHOLSEY 127 0 61 99999 2
RGBRDLEY 127 0 1430 99999 2
RGBPADTON 127 0 115 99999 2
从这个讨论中,
看起来read_csv()的实现是为了允许您设置更多选项,这使得from_csv()变得多余。FYI:from_csv已被弃用(它的功能与read_csv相同,但有一些令人惊讶的设置,有时在日期解析方面表现得很奇怪)。from_csv已被弃用,我看不到这一点。你完全正确,熊猫还没有反对它。很抱歉也就是说,我们一直在考虑反对。这也有点奇怪,就像它默认的那样,我想我们一直都是。我在你的链接上阅读了讨论,也阅读了它在上一篇文章中链接到的讨论,这是我在文章中包含的链接。
import pandas as pd
df = pd.DataFrame.from_csv(
'data.txt',
index_col = [0, 1]
)
print df
--output:--
dep freq arr code mode
from to
RGBOXFD RGBPADTON 127 0 27 99999 2
RGBPADTON 127 0 33 99999 2
RGBRDLEY 127 0 1425 99999 2
RGBCHOLSEY 127 0 52 99999 2
RGBMDNHEAD 127 0 91 99999 2
RGBDIDCOTP RGBPADTON 127 0 46 99999 2
RGBPADTON 127 0 3 99999 2
RGBCHOLSEY 127 0 61 99999 2
RGBRDLEY 127 0 1430 99999 2
RGBPADTON 127 0 115 99999 2