【发布时间】:2019-02-25 00:54:42
【问题描述】:
我正在尝试使用 pandas 制作精美的热图。数据是一个csv文件,与脚本python在同一个文件夹中。
我的代码有错误,很简单:
File "<ipython-input-6-1b7ca215e6d0>", line 4
fid = datadf u'/my_Path/File.csv'
^
SyntaxError: invalid syntax
我认为重要的原因不是语法。 所以我需要你的帮助吗?
我的代码是:
datadf = pd.read_csv("D:\my_Path\File.csv")
## Loading the data
fid = datadf u'/my_Path/File.csv'
key = u'dataset_key'
## Load the dataframe
df = pd.read_hdf(fid,key)
## Default plot ranges:
long_range = (datadf['long'].min(), datadf['long'].max())
lat_range = (datadf['lat'].min(), datadf['lat'].max())
## France plot ranges
long_range_fr = (-5,10)
lat_range_fr = (40,52)
## Visualization
### Custom functions
def bg(img):
return tf.set_background(img,"black")
def create_image(long_range=long_range, lat_range=lat_range, w=800, h=800):
cvs = ds.Canvas(x_range=long_range, y_range=lat_range, plot_height=h, plot_width=w)
agg = cvs.points(df, 'lon', 'lat')
return bg(tf.shade(agg, cmap = cm(Hot,0.2), how='eq_hist'))
### Statit plot
create_image(long_range=long_range_fr, lat_range=lat_range_fr)
我的数据样本:
long lat
-0.91655 43.456863
-0.495795 43.162117
-0.029272 43.097401
-0.108955 43.233845
-0.10237 43.207676
-0.096726 43.19257
-0.102862 43.216438
-0.1091 43.234241
-0.105826 43.225636
-0.096518 43.190247
-0.098496 43.19902
-0.079585 43.229698
-0.081321 43.232929
-0.079448 43.232937
-0.624699 43.364143
-0.429526 43.328094
【问题讨论】:
-
尝试使用 seaborn 热图,我猜它比您的解决方案更容易。 seaborn.pydata.org/generated/seaborn.heatmap.html
-
@KristófVarga 好的,但是如何导入我的数据?因为我的文件包含 2 列:经度和纬度。
-
@KristófVarga 我给了你我的数据样本。你能帮我画一张热图吗?谢谢
-
您说您提供的数据样本不在问题范围内。你会再试一次吗?
-
虽然这个问题没有得到修复,但我已将其回滚到最后一个可读状态。欢迎进行更多修改,但只有在它们不会再次导致无法回答的情况下。