'星级'] = pd.cut(df['average'],
df[=[0, 2, 4, 6, 8, 10],
bins=['一星', '二星', '三星', '四星', '五星'])
labels= df['星级'].value_counts(sort=False)
result '累计百分比(%)'] = result.values.cumsum() df_result[
数据转换
数据转换是为后续数据分析工作做准备,数据转换工作包括:将来自不同来源的数据集成到一起、数据类型转化、生成新变量、重命名变量等内容。转换数据可以使其更容易被人理解,从而提高数据可视化的效果和直观性。
数据合并
合并多个数据框
"""合并多个数据框"""
=True) pd.concat([df_raw_1,df_raw_2,df_raw_3,df_raw_4],ignore_index
行列调整
删除行
"""删除填写时间过短及过长的的数据"""
= df5.drop(index = df5.query('(填写问卷时长 <= 40) or (填写问卷时长 > 600)').index) df6
删除列
= df1.drop(columns='来源详情') df2
重命名列
= df3.rename(columns={
df4 '@1、您的性别': '性别',
'@2、您每天使用手机的频率': '每天手机使用频率',
})
处理日期数据
处理日期是数据分析中的一个常见任务。首先,让我们讨论如何将字符串转换为日期类型,然后再探讨如何从日期中提取年份和月份。
将字符串转化为日期类型
在大多数编程语言中,可以使用特定的函数或方法将日期字符串转换为日期类型。例如,在Python中,可以使用datetime
库中的strptime
函数来实现这一转换。这个函数允许你指定日期字符串的格式,并将其转换为datetime
对象。
例如,假设你有一个日期字符串"2023-11-27"
,你可以按照以下方式转换它:
from datetime import datetime
= "2023-11-27"
date_str = datetime.strptime(date_str, "%Y-%m-%d") date_obj
在这里,"%Y-%m-%d"
指定了日期字符串的格式,其中%Y
代表四位年份,%m
代表月份,%d
代表日。
从日期中提取年月
一旦你有了一个日期对象,提取年份和月份就相对简单了。在Python的datetime
对象中,你可以直接访问year
和month
属性来获取这些信息。
继续使用上面的例子:
= date_obj.year
year = date_obj.month month
这样,year
将包含年份(例如2023),而month
将包含月份(例如11)。
字符串处理
删减内容
'填写问卷时长'] = df4['所用时间'].str.rstrip('秒') df4[
运行后:
所用时间 填写问卷时长
0 71秒 71
1 108秒 108 2 81秒 81
生成变量
将定距变量转化定序变量
将定距变量转化为定序变量是一种数据处理方法,主要出于简化数据、提高可解释性的考虑。这种转换使得连续的、可能值很多的定距变量变得更易于理解和解释,如将具体温度值简化为“低温”、“中温”、“高温”等级。在统计分析上,某些方法和模型更适用于分类数据,尤其是在处理非正态分布的数据或存在异常值时。此外,这种转换有助于揭示数据中的非线性关系,并在测量不准确或数据质量有问题时减少误差的影响。在数据缺失或不完整的情况下,转化为定序变量也是一种处理不确定性的方法。最后,转换有助于满足某些统计模型对数据的特定假设,如正态分布等。总体而言,这种转换有助于数据处理的简化和适应特定的统计分析需求。
"""
生成因变量:对待AI作品的态度(分值越高,态度越积极)
对待AI作品的态度 = 8、请问你认为借助AI创作出的作品可以被称为艺术品吗? + 9、 当您作为观看者时,请问您更喜欢观赏传统及现有绘画艺术作品还是AI(绘画)艺术作品?
"""
def re_gen_attitude1(x):
"""
依据变量的取值,重新生成变量
"""
if x == "不可以,只是新兴技术在其他领域的具体体现":
return -1
elif x == "可以,是理性与感性的结合":
return 1
else:
return 0
def re_gen_attitude2(x):
"""
依据变量的取值,重新生成变量
"""
if x == "更喜欢感受传统及现有艺术作品的魅力":
return -1
elif x == "更喜欢AI作品,全新的视觉体验给观者带来愉悦的感觉":
return 1
else:
return 0
'对待AI作品的态度'] = df['8、请问你认为借助AI创作出的作品可以被称为艺术品吗?'].apply(re_gen_attitude1) + df['9、当您作为观看者时,请问您更喜欢观赏传统及现有绘画艺术作品还是AI(绘画)艺术作品?'].apply(re_gen_attitude2) df[