如何将列列表合并为熊猫数据框中的一列?

希维卡·帕特尔

我有列列表,我需要将它们组合成数据框中的一列。你能帮我怎么做吗?

示例:

example-1 column_list = ['File Type', 'Number of Records']
          df['pk'] = df['File Type'] + df['Number of Records']


example-2 column_list = ['File Type', 'Number of Records', 'Indication']
          df['pk'] = df['File Type'] + df['Number of Records'] + df['Indication']


example-3 column_list = ['File Type']
          df['pk'] = df['File Type']
耶斯列

首先选择列column_list,然后将值转换为字符串,DataFrame.astype如果至少有一个非字符串列并且最后加入DataFrame.agg

df['pk'] = df[column_list].astype(str).agg(''.join, axis=1)

或在DataFrame.apply

df['pk'] = df[column_list].astype(str).apply(''.join, axis=1)

样品

df = pd.DataFrame({'File Type':['aa','bb'], 
                   'Number of Records':[1,5],
                   'Indication':['ind1','ind2']})

column_list1 = ['File Type', 'Number of Records']
column_list2 = ['File Type', 'Number of Records', 'Indication']
column_list3 = ['File Type']
df['pk1'] = df[column_list1].astype(str).agg(''.join, axis=1)
df['pk2'] = df[column_list2].astype(str).agg(''.join, axis=1)
df['pk3'] = df[column_list3].astype(str).agg(''.join, axis=1)
print (df)
  File Type  Number of Records Indication  pk1      pk2 pk3
0        aa                  1       ind1  aa1  aa1ind1  aa
1        bb                  5       ind2  bb5  bb5ind2  bb

另一个想法是使用sum

df['pk1'] = df[column_list1].astype(str).sum(axis=1)
df['pk2'] = df[column_list2].astype(str).sum(axis=1)
df['pk3'] = df[column_list3].astype(str).sum(axis=1)
print (df)
  File Type  Number of Records Indication  pk1      pk2 pk3
0        aa                  1       ind1  aa1  aa1ind1  aa
1        bb                  5       ind2  bb5  bb5ind2  bb

sum如果连接数字列解决方案的问题是将输出转换为浮点数:

df = pd.DataFrame({'File Type':[4,5], 'Number of Records':[1,5], 'Indication':[8,9]})

column_list1 = ['File Type', 'Number of Records']
column_list2 = ['File Type', 'Number of Records', 'Indication']
column_list3 = ['File Type']
df['pk1'] = df[column_list1].astype(str).sum(axis=1)
df['pk2'] = df[column_list2].astype(str).sum(axis=1)
df['pk3'] = df[column_list3].astype(str).sum(axis=1)
print (df)
   File Type  Number of Records  Indication   pk1    pk2  pk3
0          4                  1           8  41.0  418.0  4.0
1          5                  5           9  55.0  559.0  5.0

print (df.dtypes)
File Type              int64
Number of Records      int64
Indication             int64
pk1                  float64
pk2                  float64
pk3                  float64
dtype: object

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用熊猫数据框将所有列合并为一列?

如何将一个熊猫数据框中的多列合并为一个系列?

将熊猫数据列合并为一列

如何将数据框行合并为单个行,并为每一列浓缩所有行值?

将多列熊猫数据框合并为一列

如何在熊猫数据框中将两列合并为一列

如何将多列合并为一列?

如何将两列合并为一列?

如何将数据表的两列或多列合并为一列?

通过根据列值熊猫数据框将一列置于另一列之下,将多列合并为一列

如何将数据框列拆分为熊猫中的另一列?

如何将数据框中的一列分成多列?[蟒蛇,熊猫]

如何将数据帧的所有列合并为一列?

如何将两列的数据合并为一列,并按类型标识每个条目?

如何将一列从数据框(B)合并到数据框(A),但如何使列(Y)由数据框(A)另一列中的值组织?

如何将数据框的某一列合并到另一列?

如何将数据框的每一列附加到熊猫系列中?

如何将数据框的一列中的值列表均等地分为多个列

如何将多个数据框日期列合并为R中的一个堆叠日期列

在同一数据框熊猫中将多列合并为一列

要将多列合并为一列并计算唯一值的重复,并为熊猫数据框中的每个计数维护一个单独的列

如何将这两行合并为SQL中的一列

合并列表是将熊猫数据帧的多个列合并为一个列中的单个列表

将多列合并为一列熊猫

将3列合并为一列熊猫

RxJava2如何将2个单一列表合并为一个列表

如何将一列中的值映射到数据框的另一列?

如何将一个数据框列与一个列表中的多个数据框合并?

将数据框的两列合并为字典中已存在的一列作为键值对