将熊猫df推到一起

时间:2017-03-02 20:14:28

标签: python pandas dataframe

stmr.autoFlushFrequency(1000);

我在pandas df中有数据,如何创建一个没有任何5个数据的新4列数据帧?由于缺乏更好的词汇,基本上推动了数据框架。

1 个答案:

答案 0 :(得分:1)

您可以将applyboolean indexing

一起使用
df = df.apply(lambda x: pd.Series(x[x != 5].values, index=['col1', 'col2', 'col3']), axis=1)
print (df)
           col1 col2 col3
2000-01-11  XLE  XLV  XLY
2000-01-12  XLE  XLV  XLY
2000-01-13  XLI  XLV  XLY
2000-01-14  XLE  XLI  XLV
2000-01-15  XLE  XLI  XLV
2000-01-16  XLE  XLI  XLV

numpy.sort的另一个解决方案,并按iloc选择:

df = pd.DataFrame(np.sort(df[df != 5].astype(str), axis=1),
                  index=df.index, 
                  columns = list('abcd')).iloc[:, :3]
print (df)
              a    b    c
2000-01-11  XLE  XLV  XLY
2000-01-12  XLE  XLV  XLY
2000-01-13  XLI  XLV  XLY
2000-01-14  XLE  XLI  XLV
2000-01-15  XLE  XLI  XLV
2000-01-16  XLE  XLI  XLV