熊猫 - 写出并读回一列(导出/导入)
这感觉就像是我缺少的一个简单的基本操作?我想将一个数据框的一列写出到一个文本文件中,手动清理一下,然后将新版本读回到数据框中(写入旧数据)。熊猫 - 写出并读回一列(导出/导入)
我列的数据写出来,以CSV,与指数:
df['Systems'].to_csv('systems.csv', index=True)
前五的CSV行是这样的:
,Systems
0,A
1,B
2,C
3,D
4,E
现在我想要得到它回到列中,保留索引:
df = pd.read_csv('systems_clean.csv', encoding='utf-8', sep=',', header=1, index_col=1, usecols=['Systems']))
任何帮助将不胜感激。道歉,如果这是完全基本的。我一直在寻找小时。
索引是从零开始的,实际上很多你通过反正是默认的则params的所以这应该工作:
df = pd.read_csv('systems_clean.csv', encoding='utf-8', index_col=0)
In [3]:
import pandas as pd
import io
t=""",Systems
0,A
1,B
2,C
3,D
4,E"""
pd.read_csv(io.StringIO(t), index_col=0)
Out[3]:
Systems
0 A
1 B
2 C
3 D
4 E
谢谢!为了以防万一,我最终开始抛弃所有内容,即默认参数。你的答案很有魅力。 –
嗯,哦...所以读入列似乎已经取代了整个数据帧。我现在只有一列:“系统”。我如何阅读并保留所有其他栏目。它是'df [Systems] = pd.read_csv ...'? –
您只需要访问列df [Systems] = pd.read_csv()['Sytems']'或df [Systems] = pd.read_csv(....,squeeze = True)''。 – EdChum
您正在使用很多不必要的默认值(标题,编码,sep)。
您应该指数从0,而不是1
df = pd.read_csv('systems_clean.csv', index_col=0)
indexing is zero based try'df = pd.read_csv('systems_clean.csv',encoding ='utf-8',sep =',',header = 1,index_col = 0,usecols = ['Systems'] ))' – EdChum