1
具有数据帧,如:联合列在数据帧
import pandas
df = pandas.DataFrame({'a': [1, 2, 3], 'b': [9, 8, 7], 'c': [4, 5, 6]})
df
我想有一个数据帧:
- 甲因子/类别列
['a', 'b']
。这个专栏的名字,我不在乎。 - 具有
a
或b
列的旧值的列,具体取决于['a', 'b']
因子。这个专栏的名字,我不在乎。 - 保留
c
列值和名称(实际数据框有几列我想保留)。 - 我不关心结果数据框中列的顺序,也不关心它们中的某些(或任何)列被设置为索引。
这是什么,我想获得一个例子:
df['name_a'] = 'a'
df['name_b'] = 'b'
c0 = pandas.concat([df['name_a'], df['name_b']])
c1 = pandas.concat([df['a'], df['b']])
c2 = pandas.concat([df['c'], df['c']])
newdf = pandas.concat([c0, c1, c2], axis=1)
newdf
有没有更好的方式来达到同样的效果?我觉得这样很丑陋。也许我错过了一个pandas
函数,使得代码更清晰,更易于理解?
谢谢,这看起来很不错!但是,请注意“*实际数据框有几列我想保留*”(即:许多'c'列)。有没有办法使用'a'和'b'作为参数来代替'c'? ('a'和'b'总是2,但是有很多'c'列有不同的名字,我想保留所有这些列)。 – Peque
当然,给我一下。 – jezrael
请检查更新我的答案。 – jezrael