如何在Python中将DataFrame的行列索引设置为纬度/经度,并创建包含纬度、经度和值的xarray数据集?
我有一个数据表(dataframe)。我想用纬度和经度来作为行和列的索引。
longitude=np.arange(-180,180,0.05)
latitude=np.arange(-90,90,0.05)
我想把这个纬度(lat)和经度(lon)设置为数据表的行和列索引。这里是数据表的图片。虽然这里只显示了“nan”,但有些点是有实际值的]1
3 个回答
0
只需要重新指定一下行的索引和列的名称就可以了:
df.columns = longitude
df.index = latitude
结果:
-180.00 -179.95 -179.90 -179.85 ... 179.80 179.85 179.90 179.95
-90.00 NaN NaN NaN NaN ... NaN NaN NaN NaN
-89.95 NaN NaN NaN NaN ... NaN NaN NaN NaN
-89.90 NaN NaN NaN NaN ... NaN NaN NaN NaN
-89.85 NaN NaN NaN NaN ... NaN NaN NaN NaN
-89.80 NaN NaN NaN NaN ... NaN NaN NaN NaN
... ... ... ... ... ... ... ... ...
89.75 NaN NaN NaN NaN ... NaN NaN NaN NaN
89.80 NaN NaN NaN NaN ... NaN NaN NaN NaN
89.85 NaN NaN NaN NaN ... NaN NaN NaN NaN
89.90 NaN NaN NaN NaN ... NaN NaN NaN NaN
89.95 NaN NaN NaN NaN ... NaN NaN NaN NaN
0
import pandas as pd
import numpy as np
# Your provided ranges
longitude = np.arange(-180, 180, 0.05)
latitude = np.arange(-90, 90, 0.05)
# Example: Creating an empty dataframe with latitude and longitude as multi-index
# This assumes you want every possible combination of latitude and longitude as an index
index = pd.MultiIndex.from_product([latitude, longitude], names=["Latitude", "Longitude"])
df = pd.DataFrame(index=index)
# Now, df is ready to be populated with your data.
# Each row corresponds to a unique combination of latitude and longitude.
当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。
-1
你的意图不是很明确。不过,也许你想要的是:
df = pd.DataFrame(columns= longitude, index = latitude)
创建这个数据框(DF):
-180.00 -179.95 -179.90 -179.85 ... 179.80 179.85 179.90 179.95
-90.00 NaN NaN NaN NaN ... NaN NaN NaN NaN
-89.95 NaN NaN NaN NaN ... NaN NaN NaN NaN
-89.90 NaN NaN NaN NaN ... NaN NaN NaN NaN
-89.85 NaN NaN NaN NaN ... NaN NaN NaN NaN
-89.80 NaN NaN NaN NaN ... NaN NaN NaN NaN
... ... ... ... ... ... ... ... ... ...
89.75 NaN NaN NaN NaN ... NaN NaN NaN NaN
89.80 NaN NaN NaN NaN ... NaN NaN NaN NaN
89.85 NaN NaN NaN NaN ... NaN NaN NaN NaN
89.90 NaN NaN NaN NaN ... NaN NaN NaN NaN
89.95 NaN NaN NaN NaN ... NaN NaN NaN NaN
[3600 rows x 7200 columns]