Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中的变量列表_Python_Loops_Pandas_Dataframe - Fatal编程技术网

Python中的变量列表

Python中的变量列表,python,loops,pandas,dataframe,Python,Loops,Pandas,Dataframe,嗨,我想循环到数据帧结构中列表的值中: 可能吗 #for a single variable print(df["var1"].value_counts(normalize = True)) my_list=["var1","var2","var3"] #instead would like to do something like this: for i in my_list: print(df[i].value_counts(normalize = True)) 有内置的工具可

嗨,我想循环到数据帧结构中列表的值中:

可能吗

#for a single variable
print(df["var1"].value_counts(normalize = True))

my_list=["var1","var2","var3"]

#instead would like to do something like this:

for i in my_list:
   print(df[i].value_counts(normalize = True))

有内置的工具可以提供帮助

my_list = ["var1", "var2", "var3"]

# j is the column header
# col is the column series
for j, col in df[my_list].iteritems():
    print col.value_counts(normalize=True)

有内置的工具可以提供帮助

my_list = ["var1", "var2", "var3"]

# j is the column header
# col is the column series
for j, col in df[my_list].iteritems():
    print col.value_counts(normalize=True)

您可以使用
apply
,但这仍然是一个幕后循环:

df[my_list].apply(pd.Series.value_counts, normalize=True)
如果您只想打印,请使用
lambda
功能:

df[my_list].apply(lambda col: print(pd.Series.value_counts(col, normalize=True)))

您可以使用
apply
,但这仍然是一个幕后循环:

df[my_list].apply(pd.Series.value_counts, normalize=True)
如果您只想打印,请使用
lambda
功能:

df[my_list].apply(lambda col: print(pd.Series.value_counts(col, normalize=True)))

我想您可以将
.apply()
lambda
一起使用

df[["var1","var2","var3"]].apply(lambda x: x.value_counts(normalize = True))

我想您可以将
.apply()
lambda
一起使用

df[["var1","var2","var3"]].apply(lambda x: x.value_counts(normalize = True))


谢谢,但是这个方法会循环到数据帧的所有列中,相反,我想循环到3个变量中,或者我遗漏了什么?抱歉@progster我误解了你的问题。那你为什么对你的代码不满意呢?我的错,我的问题不是很清楚。我想知道是否有更具体的“熊猫”trick@progster我已经编辑了我的答案。它有点像“熊猫ic”,但是你的代码没有根本性的错误。谢谢,但是这个方法循环到数据帧的所有列,相反,我想循环到3个变量,或者我遗漏了什么?抱歉@progster我误解了你的问题。那你为什么对你的代码不满意呢?我的错,我的问题不是很清楚。我想知道是否有更具体的“熊猫”trick@progster我已经编辑了我的答案。它有点像“panda ic”,但是你的代码没有根本上的错误。谢谢,但是这个方法循环到数据帧的所有列,相反,我想循环到3个变量,或者我遗漏了什么?不,我遗漏了什么。更新帖子。。。顺便说一下,更新了。你的解决方案完全可以接受。我的答案只是另一种选择。谢谢,但是这个方法循环到数据帧的所有列,相反,我想循环到3个变量,或者我遗漏了什么?不,我遗漏了什么。更新帖子。。。顺便说一下,更新了。你的解决方案完全可以接受。我的答案只是另一种选择。您基本上希望这些列的
value\u计数
[“var1”、“var2”、“var3”]
?您基本上希望这些列的
value\u计数
[“var1”、“var2”、“var3”]
?实际上您不需要
lambda
函数:您可以直接在
apply
中将
normalize=True
作为关键字参数传递。看我的答案;)@哦,是的。我以前没有看到您的答案。实际上,您不需要
lambda
函数:您可以直接在
apply
中将
normalize=True
作为关键字参数传递。看我的答案;)@哦,是的。我以前没看到你的答案。