jsp如何取到选中的radio中每一列的值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp如何取到选中的radio中每一列的值相关的知识,希望对你有一定的参考价值。
参考技术A 给你个例子看看吧:value="1"
onclick="selType(this.value)"
checked="checked"/>1
value="2"
onclick="selType(this.value)"/>2
以上的两个单项按钮,具有相同的name
属性,不同的id,当要获取所选中的radio的值的时候,使用:request.getParameter("same"),就取出了id的值,根据id的值就可以判断选中了哪个单选按钮了。
打印熊猫数据框中每一列的唯一值
【中文标题】打印熊猫数据框中每一列的唯一值【英文标题】:print the unique values in every column in a pandas dataframe 【发布时间】:2015-01-30 05:13:18 【问题描述】:我有一个数据框 (df),想打印数据框中每一列的唯一值。
我需要将变量 (i) [列名] 替换到打印语句中
column_list = df.columns.values.tolist()
for column_name in column_list:
print(df."[column_name]".unique()
更新
当我使用这个时:我得到 “Unexpected EOF Parsing” 没有额外的细节。
column_list = sorted_data.columns.values.tolist()
for column_name in column_list:
print(sorted_data[column_name].unique()
你的语法 YS-L(上面)和下面有什么区别:
for column_name in sorted_data:
print(column_name)
s = sorted_data[column_name].unique()
for i in s:
print(str(i))
【问题讨论】:
您的打印语句中缺少右括号,这就是导致错误的原因。 【参考方案1】:可以更简洁地写成这样:
for col in df:
print(df[col].unique())
通常,您可以通过indexing 使用[]
运算符(例如df['col']
)或通过attribute(例如df.col
)访问DataFrame 的列。
当预先知道目标列名时,属性访问使代码更加简洁,但有几个警告——例如,当列名不是有效的 Python 标识符时(例如df.123
),它不起作用, 或与内置 DataFrame 属性冲突(例如df.index
)。另一方面,[]
表示法应该始终有效。
【讨论】:
啊太棒了,所以当引用作为数据报一部分的变量时,当列是变量时,您不包括 df.col-name 之前的点?! @yoshiserry:通常您可以使用点表示法访问列:df.my_col
, 或 索引表示法,列名称为字符串:df['my_col']
。你似乎把两者混为一谈了。
感谢 Marius,当我使用索引表示法时,出现语法错误(请参阅编辑)。
YS-L 我在写这个的时候遇到了一个语法错误,它只是说“无效的语法”并且没有细节。然而,这是否意味着可以使用相同的原则将大型数据帧拆分为多个较小的数据帧(一年中的每个月一个?)。月份 = df.month.unique().tolist() 用于月份中的项目:[item] = df[df[month]==[item]]
对于错误,请将其添加到您的问题中,以便我们提供帮助。对于第二部分,您可能正在寻找类似 @987654323@ 的内容(如有必要,请为此打开另一个问题,而不是在这里讨论 :-)。【参考方案2】:
如果您尝试创建多个单独的数据框,如您的 cmets 中所述,请创建一个数据框字典:
df_dict = dict(zip([i for i in df.columns] , [pd.DataFrame(df[i].unique(), columns=[i]) for i in df.columns]))
然后您可以使用列的名称轻松访问任何数据框:
df_dict[column name]
【讨论】:
【参考方案3】:cu = []
i = []
for cn in card.columns[:7]:
cu.append(card[cn].unique())
i.append(cn)
pd.DataFrame( cu, index=i).T
【讨论】:
【参考方案4】:我们可以让它更简洁:
df.describe(include='all').loc['unique', :]
Pandas describe 提供了关于每一列的一些关键统计信息,但我们可以只获取“唯一”统计信息并保留它。
请注意,这将为数字列提供 NaN
的唯一计数 - 如果您还想包含这些列,您可以执行以下操作:
df.astype('object').describe(include='all').loc['unique', :]
【讨论】:
这也给出了唯一值的数量,而不是唯一值本身。顺便说一句,唯一值的数量更容易获得,例如df.nunique()
【参考方案5】:
或者简而言之可以写成:
for val in df['column_name'].unique():
print(val)
【讨论】:
【参考方案6】:下面的代码可以为您提供每个字段的唯一值列表,当您想更深入地查看数据框时,我发现它非常有用:
for col in list(df):
print(col)
print(df[col].unique())
如果您希望对唯一值进行排序,也可以对它们进行排序:
import numpy as np
for col in list(df):
print(col)
print(np.sort(df[col].unique()))
【讨论】:
【参考方案7】:最好的方法:
Series.unique()
例如 students.age.unique() 输出将是学生数据框的年龄列中出现的不同值。
只获取多少个不同值的数量:
Series.nunique()
【讨论】:
这并没有回答如何从每一列中获取唯一值【参考方案8】:最受欢迎的答案是循环解决方案,因此使用 pandas apply() 方法和 lambda 函数添加了一个单行解决方案。
print(df.apply(lambda col: col.unique()))
【讨论】:
问题是要求唯一值,而不是唯一值的数量,所以只需更改应用函数:print(df.apply(lambda col: col.unique())) 当我这样做时,我收到错误消息arrays must be the same length
。所有列的数量或行数都相同,为什么我会收到该消息?
为了使打印出来的值更好一些(至少在我看来)可以添加类似df.apply(lambda col: ', '.join(map(str, col.unique())))
【参考方案9】:
只需这样做:
for i in df.columns:
print(df[i].unique())
【讨论】:
【参考方案10】:这将以正确的格式获得唯一值:
pd.Series(col:df[col].unique() for col in df)
【讨论】:
【参考方案11】:更好。以下代码将所有唯一值视为按列转置的数据框:
columns=[*df.columns]
unique_values=
for i in columns:
unique_values[i]=df[i].unique()
unique=pd.DataFrame(dict([ (k,pd.Series(v)) for k,v in unique_vals.items() ]))
unique.fillna('').T
【讨论】:
【参考方案12】:我也在寻找解决这个问题的方法,下面的代码证明对我的情况更有帮助,
for col in df:
print(col)
print(df[col].unique())
print('\n')
它给出如下内容:
Fuel_Type
['Diesel' 'Petrol' 'CNG']
HP
[ 90 192 69 110 97 71 116 98 86 72 107 73]
Met_Color
[1 0]
【讨论】:
以上是关于jsp如何取到选中的radio中每一列的值的主要内容,如果未能解决你的问题,请参考以下文章