python将一个字符串转换为变量名,我可以为其分配一个列表或Pandas.DataFram

2024-09-22 20:37:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个类似L = ["V01", "V02", "V03"]的字符串列表,我想将L中的每个元素转换为一个变量,我可以将pd数据帧. 在

df_list = [] for name in L: df_temp = df[df['name'] == name] df_list.append(df_temp) dd = dict(zip(L, df_list)) globals().update(dd)

此时V01V02、和{}被识别为变量,当键入时,输出分别为pd数据帧的

有没有办法让我不用先打印出来就引用新变量V01V02,和{}?在


Tags: 数据字符串namein元素df列表for
1条回答
网友
1楼 · 发布于 2024-09-22 20:37:04

不知道我是否完全理解你的问题。让我根据我对这个问题的理解来尝试解决问题

你有一个变量,一个字符串被分配给它

name = "V01"

您想为字符串指定一个数据帧

^{pr2}$

现在,您希望在不显式调用字符串的情况下调用该数据帧,而是调用分配给它的变量

print(my_dict[name])

   Age  Name
0  21   John
1  30   Simon

编辑1:

# Creating the data frame "df1" and the list of names "L"
df = pd.DataFrame({"name" : ["V01","V02","V03","V01","V02","V03"], "Age" : [21,30,21,23,45,32]})
L = ["V01", "V02", "V03"]
print(df)
    Age name
0   21  V01
1   30  V02
2   21  V03
3   23  V01
4   45  V02
5   32  V03

# Sub setting the data frame by names from "L" and storing it in a dictionary as a key-value pair
my_dict = {}
for name in L :
    my_dict[name] = df[df['name'] == name]

# Printing the data frame for "V01"
my_dict["V01"]
Output :
    Age name
0   21  V01
3   23  V01

相关问题 更多 >