我正在研究一个包含大约1600万行和85列的13.9 GB csv文件.我知道可能有几十万行是重复的.我运行此代码来删除它们
import pandas
concatDf=pandas.read_csv("C:\\OUT\\Concat EPC3.csv")
nodupl=concatDf.drop_duplicates()
nodupl.to_csv("C:\\OUT\\Concat EPC3- NoDupl.csv",index=0)
low_memory=False
Run Code Online (Sandbox Code Playgroud)
然而,这让我陷入了MemoryError.我的公羊是16克,不能再高了.是否有一种更有效的方法来删除重复项,如果没有我不得不将csv文件分解为更小的文件?
我正在尝试通过散景构建一个简单的条形图,但努力让它识别 x 轴并不断收到 ValueError ......我认为它需要采用字符串格式,但出于某种原因,无论我尝试什么都不会'工作。请注意,包含 Years 的列(从外观上看是浮动的)称为 RegionName,如果它看起来令人困惑。请看我下面的代码,有什么建议吗?
import pandas as pd
from bokeh.plotting import figure, output_file, show
from bokeh.models import ColumnDataSource
from bokeh.models.tools import HoverTool
import os
from bokeh.palettes import Spectral5
from bokeh.transform import factor_cmap
os.chdir("C:/Users/Vladimir.Tikhnenko/Python/Land Reg")
# Pivot data
def pivot2(infile="Land Registry.csv", outfile="SalesVolume.csv"):
df=pd.read_csv(infile)
table=pd.pivot_table(df,index=
["RegionName"],columns="Year",values="SalesVolume",aggfunc=sum)
table.to_csv(outfile)
return table
pivot2()
# Transpose data
df=pd.read_csv("SalesVolume.csv")
df=df.drop(df.columns[1:28],1)
df=pd.read_csv("SalesVolume.csv", index_col=0, header=None).T
df.to_csv("C:\\Users\Vladimir.Tikhnenko\Python\Land
Reg\SalesVolume.csv",index=None)
df=pd.read_csv("SalesVolume.csv")
source = ColumnDataSource(df)
years = source.data['RegionName'].tolist()
p = figure(x_range=['RegionName'])
color_map = factor_cmap(field_name='RegionName',palette=Spectral5,
factors=years)
p.vbar(x='RegionName', top='Southwark', source=source, width=1, …Run Code Online (Sandbox Code Playgroud)