有U_15_1和U_15_2、U_25_1、U_25_2一共4个dataframe,T=[15,25], n = [1,2], 用f'U_{T}{n}'的形式调用这4个dataframe
时间: 2024-02-18 10:06:22 浏览: 6
好的,可以用以下代码来调用这4个dataframe:
```python
U_15_1 = pd.DataFrame(...)
U_15_2 = pd.DataFrame(...)
U_25_1 = pd.DataFrame(...)
U_25_2 = pd.DataFrame(...)
T = [15, 25]
n = [1, 2]
for t in T:
for i in n:
exec(f'U_{t}_{i} = pd.DataFrame(...)')
```
这样就可以用f'U_{T}{n}'的形式调用这4个dataframe了。比如,要调用U_15_1,可以这样写:
```python
df = U_15_1
```
请注意,使用`exec()`函数可以动态地创建变量名,但是需要非常小心,不要让变量名被恶意修改。
相关问题
想创建U_15_1和U_15_2、U_25_1、U_25_2一共4个dataframe,T=[15,25], n = [1,2], 用f'U_{T}{n}'的形式创建这4个dataframe
好的,我可以通过 Python 代码来帮您创建这4个 dataframe,如下所示:
```python
import pandas as pd
T = [15, 25]
n = [1, 2]
for t in T:
for i in n:
df_name = f"U_{t}_{i}"
exec(f"{df_name} = pd.DataFrame()")
```
这段代码中,我使用了 f-string 的形式来创建 dataframe 的名称,然后使用 `exec()` 函数来动态创建这些 dataframe。
这样,您就可以通过 `U_15_1`、`U_15_2`、`U_25_1` 和 `U_25_2` 这4个变量名来访问这4个 dataframe 了。
优化这段代码:for n in cell_num: for T in T_list: f'U_table_new_{T}_{n}' = pd.DataFrame(columns=C_list, index=range(0, 16, 1))
可以将代码优化为使用字典来存储数据框,避免使用动态变量名。代码如下:
```
U_table_new = {}
for n in cell_num:
for T in T_list:
U_table_new[(T, n)] = pd.DataFrame(columns=C_list, index=range(0,16))
```
这里使用了元组 (T, n) 作为字典的键,以存储对应的数据框。同时,可以省略 `range` 函数最后一个参数为 1 的默认值,因为这是默认值。