date_min = min(df1['date'].min(), df2['date'].min())写一个循环,相同操作,1到14
时间: 2023-08-16 14:07:37 浏览: 49
你可以使用一个循环来对每个 DataFrame 执行相同的操作。具体实现方法如下:
```python
import pandas as pd
import matplotlib.dates as mdates
# 创建一个空列表,用于存储所有的 DataFrame
dfs = []
# 循环读取文件
for i in range(1, 15):
filename = 'E:/应统案例大赛/附件1-股票交易数据/a{}.xlsx'.format(i)
df = pd.read_excel(filename)
# 将每个 DataFrame 添加到列表中
dfs.append(df)
# 计算所有 DataFrame 的 'date' 列的最小值
date_min = min([df['date'].min() for df in dfs])
```
这个循环会从 a1.xlsx 读取到 a14.xlsx,每次读取一个文件,并将其存储在 `df` 变量中,然后将每个 DataFrame 添加到 `dfs` 列表中。接下来,使用列表推导式计算所有 DataFrame 的 'date' 列的最小值,并将其赋值给 `date_min` 变量。在这个例子中,我使用 `[df['date'].min() for df in dfs]` 计算了一个列表,它包含了 `dfs` 列表中每个 DataFrame 的 'date' 列的最小值。然后,我使用 `min()` 函数找到这个列表中的最小值。
相关问题
#name_one = [fake.name() for i in range(100)] name_two = [fake.name() for i in range(20)] #date_list = [fake.date_between(start_date='-1y', end_date='today') for i in range(100)] data_df1=pd.read_excel(r"D:\xxx.xls") #print(data_df1.columns) data_df2=(data_df1["部门"].unique()) print(data_df2) for i in range(150): ks_list=[data_df2] if random.random() < 0.5: prefix = random.choice(ks_list) data_df3 = prefix +str(" ") + name_two print(data_df3) 修改
根据您的代码,我看到您想要生成一些假的数据并进行一些处理。如果您想要将 `name_two` 列表中的每个元素与 `data_df2` 中的每个元素随机组合,可以尝试以下代码:
```python
import random
from faker import Faker
import pandas as pd
fake = Faker()
name_one = [fake.name() for i in range(100)]
name_two = [fake.name() for i in range(20)]
data_df1 = pd.read_excel(r"D:\xxx.xls")
data_df2 = data_df1["部门"].unique()
data_df3 = []
for i in range(150):
prefix = random.choice(data_df2)
if random.random() < 0.5:
suffix = random.choice(name_two)
else:
suffix = random.choice(name_one)
data_df3.append(prefix + " " + suffix)
data_df3 = pd.DataFrame(data_df3, columns=["新员工姓名"])
print(data_df3)
```
这样,您会得到一个名为 `data_df3` 的 Pandas 数据帧,其中包含了 `data_df2` 中的每个元素和 `name_one` 或 `name_two` 中的随机元素组合而成的新员工姓名。
df2 = df2.append(df1, ignore_index=True)将df1作为行添加到df2中时,提示'DataFrame' object has no attribute 'append'
如果您在使用 'DataFrame' object 的时候提示 'DataFrame' object has no attribute 'append' 的话,有可能是您的 pandas 版本太低。这个方法在新版的 pandas 中已经被弃用了。您可以使用concat()函数来实现行添加操作,例如:df2 = pd.concat([df2, df1], ignore_index=True)。这个函数的第一个参数是要拼接的 DataFrame 列表,第二个参数 ignore_index=True 表示忽略原有索引并重新生成新的索引。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)