temp_df = pd.read_csv(file)
时间: 2023-10-31 13:45:48 浏览: 34
I'm sorry, as an AI language model, I don't have access to your file. Can you please provide more context and information about your file and what you are trying to achieve?
相关问题
import numpy as np import csv import pandas as pd import numpy as npjk import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['SimHei']#解决图标中汉字显示问题 plt.rcParams['axes.unicode_minus']=False#解决图标中汉字显示问题 from urllib.request import urlopen,Request from bs4 import BeautifulSoup #云计算2113方宇-2021058226 headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36'} url = 'https://search.jd.com/Search?keyword=%E8%93%9D%E7%89%99%E9%BC%A0%E6%A0%87&enc=utf-8&wq=%E8%93%9D%E7%89%99%E9%BC%A0%E6%A0%87&pvid=405a663911e84dd3822389ef5b97c147' response = Request(url,headers=headers) res = urlopen(response) data = res.read().decode('utf-8') soup = BeautifulSoup(data,'html.parser') ddd=soup.find('ul',class_="gl-warp clearfix") bbb=ddd.select('li>.gl-i-wrap>.p-price>strong>i')#价格 ccc=ddd.select('li>.gl-i-wrap>.p-shop>span>a')#店名 #云计算2113方宇2021058226 get_rmb_date = [] for i in bbb: get_rmb_date.append(i.text) get_shop_date = [] for i in ccc: get_shop_date.append(i.text) data = [] for i in range(len(get_shop_date)): temp = [] temp.append(get_shop_date[i]) temp.append(get_rmb_date[i]) data.append(temp) print(data) #云计算2113-方宇2021058226 f = open('D:/mypython/mycode/2021058226.csv','w',encoding='utf-8') csv_write = csv.writer(f) csv_write.writerow(['商品店家','商品价格']) for i in data: csv_write.writerow(i) f.close() #云计算2113方宇-2021058226 csv_file ='D:/mypython/mycode/2021058226.csv' csv_data=pd.read_csv(csv_file,low_memory=False) csv_df=pd.DataFrame(csv_data) dfl=csv_df.head(n=10) print(dfl) plt.figure(figsize = (10,6)) x = np.arange(10) y = np.array(dfl['商品店家']) xticks = list(dfl['商品价格']) print(x,y,xticks) p=[0,1,2,3,4,5,6,7,8,9] plt.xticks(p,y,rotation=20) plt.bar(p,xticks,color='red') plt.show()如何将词云柱状图按序排列
如果想将柱状图按照序排列,可以先对数据进行排序,再绘制柱状图。以下是修改后的代码:
```python
import numpy as np
import csv
import pandas as pd
import numpy as npjk
import matplotlib.pyplot as plt
from wordcloud import WordCloud
plt.rcParams['font.sans-serif']=['SimHei']#解决图标中汉字显示问题
plt.rcParams['axes.unicode_minus']=False#解决图标中汉字显示问题
from urllib.request import urlopen,Request
from bs4 import BeautifulSoup
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36'}
url = 'https://search.jd.com/Search?keyword=%E8%93%9D%E7%89%99%E9%BC%A0%E6%A0%87&enc=utf-8&wq=%E8%93%9D%E7%89%99%E9%BC%A0%E6%A0%87&pvid=405a663911e84dd3822389ef5b97c147'
response = Request(url,headers=headers)
res = urlopen(response)
data = res.read().decode('utf-8')
soup = BeautifulSoup(data,'html.parser')
ddd=soup.find('ul',class_="gl-warp clearfix")
bbb=ddd.select('li>.gl-i-wrap>.p-price>strong>i')#价格
ccc=ddd.select('li>.gl-i-wrap>.p-shop>span>a')#店名
get_rmb_date = []
for i in bbb:
get_rmb_date.append(float(i.text))
get_shop_date = []
for i in ccc:
get_shop_date.append(i.text)
# 对数据进行排序
data = sorted(zip(get_shop_date, get_rmb_date), key=lambda x: x[1], reverse=True)
get_shop_date, get_rmb_date = zip(*data)
print(data)
f = open('D:/mypython/mycode/2021058226.csv','w',encoding='utf-8')
csv_write = csv.writer(f)
csv_write.writerow(['商品店家','商品价格'])
for i in data:
csv_write.writerow(i)
f.close()
csv_file ='D:/mypython/mycode/2021058226.csv'
csv_data=pd.read_csv(csv_file,low_memory=False)
csv_df=pd.DataFrame(csv_data)
dfl=csv_df.head(n=10)
print(dfl)
plt.figure(figsize = (10,6))
x = np.arange(10)
y = np.array(dfl['商品店家'])
xticks = list(dfl['商品价格'])
print(x,y,xticks)
p = [0,1,2,3,4,5,6,7,8,9]
plt.xticks(p, y, rotation=20)
plt.bar(p, xticks, color='red')
plt.show()
```
这样,柱状图就会按照商品价格的高低进行排列。
import netCDF4 import geopandas as gpd import numpy as np import pandas as pd # 加载nc文件 nc_file = netCDF4.Dataset('E:/data/temp_CMFD_V0106_B-01_01mo_010deg_197901-201812.nc') temp_data = nc_file.variables['temp'][:] # 加载shp文件 shp_file = gpd.read_file('D:/dilidashuju/shijiquhua.shp') # 计算每个市级行政区的平均温度 years = range(1979, 2018) months = range(1, 13) temp_df = pd.DataFrame(columns=['year', 'month', 'city', 'temperature']) for year in years: for month in months: temp_array = temp_data[(year-1979)*12+month-1, :, :] for i, row in shp_file.iterrows(): city_name = row['市'] city_geom = row['geometry'] temp_mean = np.mean(temp_array[np.array([city_geom.contains(Point(lon, lat)) for lon, lat in zip(temp_array.lon, temp_array.lat)])]) temp_df = temp_df.append({'year': year, 'month': month, 'city': city_name, 'temperature': temp_mean}, ignore_index=True) # 将结果保存到CSV文件中 temp_df.to_csv('city_temperature.csv', index=False)这串代码报错Traceback (most recent call last): File "C:\Users\Lenovo\PycharmProjects\pythonditu\main.py", line 24, in <module> temp_mean = np.mean(temp_array[np.array([city_geom.contains(Point(lon, lat)) for lon, lat in zip(temp_array.lon, temp_array.lat)])]) AttributeError: 'MaskedArray' object has no attribute 'lon'怎么修改
这个错误是因为 `temp_array` 是一个 `MaskedArray` 对象,它不能像普通的 numpy 数组那样直接使用索引访问变量。要解决此错误,可以使用 `data` 属性来访问 `temp_array` 的实际数据数组,如下所示:
```
temp_mean = np.mean(temp_array.data[np.array([city_geom.contains(Point(lon, lat)) for lon, lat in zip(temp_array.lon, temp_array.lat)])])
```
这将使用列表推导式为 `temp_array` 中的每个点创建一个包含 True 或 False 的数组,并将其传递给 `temp_array.data`,以便获取在 `city_geom` 中的温度值。