小编Sil*_*ily的帖子

Pandas:将单个列中的列表转换为多个列

我有一个数据框,其中包含由逗号分隔的多个属性的列:

df = pd.DataFrame({'id': [1,2,3], 'labels' : ["a,b,c", "c,a", "d,a,b"]})

   id   labels
0   1   a,b,c
1   2   c,a
2   3   d,a,b
Run Code Online (Sandbox Code Playgroud)

(我知道这不是一个理想的情况,但数据源自外部源.)我想将多属性列转换为多个列,每个标签一个,以便我可以将它们视为分类变量.期望的输出:

    id  a       b       c       d   
0    1  True    True    True    False   
1    2  True    False   True    False   
2    3  True    True    False   True
Run Code Online (Sandbox Code Playgroud)

我可以[a,b,c,d]相当容易地获得所有可能属性()的集合,但无法找出确定给定行是否具有特定属性的方法,而不对每个属性进行逐行迭代.有一个更好的方法吗?

python dataframe pandas categorical-data

5
推荐指数
1
解决办法
1193
查看次数

重命名 Athena 分区的 S3 文件夹结构

我可以访问结构类似于bucket_name/year/month/day/file.gz 的S3 存储桶,每天有数百个文件。我知道要定义此数据的分区 Athena 表,需要将其命名为 Bucket_name/year=year/month=month/day=day。缺少每天写一个shell脚本来拼写(所以,一系列

aws cp --recursive s3://old_bucket/YYYY/MM/DD/* s3://new_bucket/year=YYYY/month=MM/day=DD/
Run Code Online (Sandbox Code Playgroud)

对于数据集中的每个 YYYY/MM/DD 值)

有没有更简单的方法来解决这个问题?我知道ALTER TABLE ADD PARTITION,但似乎又需要我单独指定每个分区。

amazon-s3 amazon-athena

3
推荐指数
1
解决办法
1959
查看次数