How to read in large CSV files, add multidimensions, and convert hourly to daily?
As far as I know, you cannot load a CSV into xarray without going through pandas. So, yes, you will need to change the file format in order to use xarray. You might also consider breaking your data up into smaller files.
I have large CSV files that represent weather data for the US at hourly resolution for a 5-km grid. The data was saved for each day, so I concatenated them together for a yearly file. The ultimate goal is to compute daily, weekly and monthly averages of the variables (wind speed, temperature, precipitation, pressure, etc) by latitude and longitude. There are no column headers so I add column names to the file when I read it in. 
When I tried reading in with Pandas in Python, it failed because it did not fit into memory. I can read in with Dask, but then I can't find a way to add the dimensions to the Dask dataframe or convert to xarray and do the same.  Is there a way to read in these too-large for memory files, add the lat, lon, datetime dimensions, compute daily, weekly and monthly averages for each lat/lon and output the file? Or, do I need to convert the csv to netCDF or similar before reading in?