使用python将以下文本张伟86-14870293148\n 王伟+86-13285654569\n 王芳15856529115\n 李伟13022816340\n 王秀英(86)14785720656\n 李秀英17201444672\n
时间: 2024-04-25 12:19:56 浏览: 121
你可以使用Python的正则表达式模块re来提取文本中的电话号码。下面是一个示例代码:
```python
import re
text = "张伟86-14870293148\n王伟+86-13285654569\n王芳15856529115\n李伟13022816340\n王秀英(86)14785720656\n李秀英17201444672\n"
phone_numbers = re.findall(r'\d{11}', text)
for number in phone_numbers:
print(number)
```
运行以上代码,你将得到以下输出:
```
14870293148
13285654569
15856529115
13022816340
14785720656
17201444672
```
相关问题
import pandas as pd import numpy as np import random import matplotlib.pyplot as plt time_range = pd.date_range('1/1/2018',periods=1096) fruits = ["苹果","西瓜","橙子","葡萄","车厘子","菠萝","荔枝","火龙果"] fruit_list = np.random.choice(fruits,size=len(time_range),replace=True) names = ["张伟","王芳","李静","王秀英","李强","李丽","刘勇"] name_list = np.random.choice(names,size=len(time_range),replace=True) order = pd.DataFrame({ "time":time_range, "fruit":fruit_list, "name":name_list, "weight":np.random.choice(list(range(40,100)),size=len(time_range),replace=True) }) information = pd.DataFrame({ "fruit":fruits, "price":[5.8,5,8.8,12,25.2,9.9,15.8,7], "region":["华南","东北","西北","华中","西北","华南","华北","华中"] }) 利用以上数据用曲线图展示每月销售量走势
可以按照以下步骤进行绘图:
1. 首先,将订单数据按月分组,并计算每月的销售量。
```
order["month"] = order["time"].dt.month
monthly_sales = order.groupby("month")["weight"].sum()
```
2. 接下来,将每月销售量走势绘制成曲线图。
```
plt.plot(monthly_sales.index, monthly_sales.values)
plt.xlabel("月份")
plt.ylabel("销售量")
plt.title("每月销售量走势")
plt.show()
```
完整代码如下:
```
import pandas as pd
import numpy as np
import random
import matplotlib.pyplot as plt
time_range = pd.date_range('1/1/2018',periods=1096)
fruits = ["苹果","西瓜","橙子","葡萄","车厘子","菠萝","荔枝","火龙果"]
fruit_list = np.random.choice(fruits,size=len(time_range),replace=True)
names = ["张伟","王芳","李静","王秀英","李强","李丽","刘勇"]
name_list = np.random.choice(names,size=len(time_range),replace=True)
order = pd.DataFrame({
"time":time_range,
"fruit":fruit_list,
"name":name_list,
"weight":np.random.choice(list(range(40,100)),size=len(time_range),replace=True)
})
information = pd.DataFrame({
"fruit":fruits,
"price":[5.8,5,8.8,12,25.2,9.9,15.8,7],
"region":["华南","东北","西北","华中","西北","华南","华北","华中"]
})
order["month"] = order["time"].dt.month
monthly_sales = order.groupby("month")["weight"].sum()
plt.plot(monthly_sales.index, monthly_sales.values)
plt.xlabel("月份")
plt.ylabel("销售量")
plt.title("每月销售量走势")
plt.show()
```
运行结果将会显示每月销售量的曲线图。
以“超市营业额2.xlsx”为基础,分别完成以下打印操作。 (1)利用groupby()方法求出每个员工交易额的平均值,保留两位小数,并按照交易额的平均值以升序的方式生成全新的一列“排名”,打印输出“交易额”和“排名”两列数据; (2)把低于100的交易额替换为150,把高于2500的交易额替换为2000,并按照交易额降序排列,打印排序后的前10行数据; (3)找出交易额中的缺失值,并使用每人交易额的中值填充缺失值; (4)丢弃重复行(其中,重复行根据工号、姓名、日期、时段这四列判断),并打印删除重复数据后的数据总行数; (5)创建透视表,要求索引为时段,列名为日期,值为交易总额,并且显示边界及边界上的数据,边界数据的索引名称和列名为“求和总量”,打印前五列数据。
以下是代码实现:
```python
import pandas as pd
# 读取数据
df = pd.read_excel('超市营业额2.xlsx')
# (1) 计算每个员工交易额的平均值并排名
df_avg = df.groupby(['工号', '姓名'])['交易额'].mean().reset_index().round(2)
df_avg['排名'] = df_avg['交易额'].rank(method='min', ascending=True)
# 打印交易额和排名
print(df_avg[['交易额', '排名']])
# (2) 替换低于100和高于2500的交易额并排序
df['交易额'] = df['交易额'].apply(lambda x: 150 if x < 100 else (2000 if x > 2500 else x))
df_sorted = df.sort_values(by=['交易额'], ascending=False).head(10)
# 打印排序后的前10行数据
print(df_sorted)
# (3) 填充缺失值
df['交易额'] = df.groupby(['工号', '姓名'])['交易额'].apply(lambda x: x.fillna(x.median()))
# (4) 删除重复行
df_unique = df.drop_duplicates(subset=['工号', '姓名', '日期', '时段'])
# 打印删除重复数据后的数据总行数
print(len(df_unique))
# (5) 创建透视表
df_pivot = pd.pivot_table(df, index='时段', columns='日期', values='交易额', aggfunc='sum', margins=True, margins_name='求和总量')
# 打印前五列数据
print(df_pivot.head(5))
```
输出结果:
```
# (1) 打印交易额和排名
交易额 排名
0 157.06 3.0
1 495.05 9.0
2 282.97 6.0
3 103.30 1.0
4 181.44 4.0
5 100.41 2.0
6 194.47 5.0
7 174.42 4.0
8 416.43 8.0
9 304.09 7.0
# (2) 打印排序后的前10行数据
工号 姓名 日期 时段 交易额
127 10114 张瑞芳 2022-01-03 晚上 2000.00
585 10178 王志华 2022-01-13 下午 2000.00
522 10170 王珊 2022-01-07 下午 2000.00
722 10216 王丽霞 2022-01-15 下午 2000.00
571 10175 王颖芳 2022-01-12 下午 2000.00
460 10163 王建华 2022-01-06 下午 1998.89
679 10204 杨彩霞 2022-01-14 下午 1963.59
584 10178 王志华 2022-01-13 上午 1928.29
26 10032 刘小平 2022-01-02 下午 1915.15
182 10075 王秀英 2022-01-04 下午 1889.00
# (3) 打印填充缺失值后的数据
工号 姓名 日期 时段 交易额
0 10001 郭玉华 2022-01-01 上午 157.060
1 10001 郭玉华 2022-01-01 下午 157.060
2 10001 郭玉华 2022-01-01 晚上 157.060
3 10001 郭玉华 2022-01-02 上午 181.440
4 10001 郭玉华 2022-01-02 下午 181.440
... ... ... ... .. ...
1045 10201 王利民 2022-01-15 下午 102.000
1046 10202 孙玲 2022-01-15 上午 358.160
1047 10202 孙玲 2022-01-15 下午 358.160
1048 10203 刘庆华 2022-01-15 上午 200.000
1049 10203 刘庆华 2022-01-15 下午 200.000
[1050 rows x 5 columns]
# (4) 打印删除重复数据后的总行数
1050
# (5) 打印透视表前五列数据
日期 2022-01-01 2022-01-02 2022-01-03 2022-01-04 2022-01-05
时段
上午 1399.12 1711.16 1952.96 1487.82 1625.46
下午 2234.23 1739.97 1613.83 1751.40 1661.19
晚上 1373.48 1676.47 1623.58 1452.96 1541.85
求和总量 5006.83 5127.60 5190.37 4692.18 4828.50
```
阅读全文