python - 将数据框中的行设置为列属性或元数据
问题描述
我有一个包含调查数据的数据框,其中每一列都标记为 Q1-Q100。数据框中的第一行包含调查中的实际问题(每列一个问题)。我想将该行设置为每列的属性或元数据,以便以后可以引用它。
数据框如下所示:
Q1 Q2 Q3 Q4
ID Age Gender Handedness
1 19 Female Right
2 19 Male Right
3 25 Female Right
4 17 Female Left
但是对于 Q10-100,标签是一个完整的句子/问题,而不是像“年龄”这样的短标签。
我知道我可以使用以下方法单独设置属性:
df.attrs['Q1'] = 'This is an example question'
但是我想看看是否有一种方法可以将整行设置为每个关联列的属性,而不必遍历每一列并一次设置一个。
解决方案
为什么不能简单地使用循环?
如果您将问题存储为列表,则可以执行以下操作:
for column, question in zip(df.columns, questions):
df.attrs[column] = question
PS:如果您需要将问题存储在df
的第一行作为列表,只需执行以下操作:
questions = df.iloc[0].tolist()
df = df.drop(df.index[0], axis=0)
推荐阅读
- ios - 测试框架时针对未解析标识符的目标成员身份修复
- vba - 如何在多列中搜索唯一文本以将这些唯一行输入到其他工作表中
- model - 在 Anylogic 中制作可重现的模型源到达
- java - 我们如何确定自定义异常应该是已检查或未检查的异常
- python - Django Channels 2 websockets 多个 AuthMiddlewareStacks
- python - 如何检查从flask传入html文件的变量是否为某种类型(如字符串、整数)
- performance - ES:使用全局聚合的准连接查询与父子/嵌套查询相比如何?
- java - 如何在android中获取实时(实时)车速 - java
- r - 增加ggplot2中图例项之间的空白
- c# - 在这种情况下如何利用类型推断?