如何从特定的数据帧形成数据帧?

2024-04-26 05:10:19 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个由25列组成的数据帧,如下所示:

A         B         C       ......   I             J    ......... Y

I-1       yes       3               1-2-2017       100           james

I-2       no        4               NaN            100           ashok

I-3       NaN       9               2-10-2017      5             mary

I-4       yes       NaN             2-10-2017      0             sania

我想从上面的数据帧中获得3个数据帧,以便

a)第一个数据帧由a列到G列组成

b)第二个数据帧由A列和I至J列组成

c)第三个数据帧由A列和K至Y列组成

我该如何处理?(最好是Python。只显示了一些列值。如果需要,我会展示更多。)


Tags: 数据nonanyesmary我会james列值
1条回答
网友
1楼 · 发布于 2024-04-26 05:10:19

可以将locjoin结合使用来创建新的数据帧:

df_a_to_g = df.loc[:, 'A':'G']
df_a_and_i_to_j = df.loc[:, ['A']].join(df.loc[:, 'I':'J'])
df_a_and_k_to_y = df.loc[:, ['A']].join(df.loc[:, 'K':'Y'])

如果要选择“数字”列,可以使用iloc而不是loc

# Select first column and columns 11 through 25.
# We have to slice with 12:27 because indexing starts with 0,
# so 12 equals to column number 11. The destination index '27'
# equals to column 26, from which we have to subtract 1 because
# the last element is exclusive in numerical slicing.
df_new = df.iloc[:, [0]].join(df.iloc[:, 12:27])

相关问题 更多 >