PEBKAC
PEBKAC

Reputation: 788

Slice pandas dataframe columns with an array?

This question refers to the previous post:

Where I have a dataframe and an array of values on which I want to interpolate:

df_new = pd.DataFrame(np.random.randn(5,7), columns=[402.3, 407.2, 412.3, 415.8, 419.9, 423.5, 428.3])
wl     = np.array([400.0, 408.2, 412.5, 417.2, 420.5, 423.3, 425.0])

The additional question I want to ask is HOW to slice the new dataframe:

df_int = df_new.reindex(columns=df_new.columns.union(wl)).interpolate(axis=1, limit_direction='both')

So it would contain ONLY the columns from the array wl?

Note that the real dataset I'm using contains 480 columns, so I need something done automatically and not just assign separate values of each column.

I haven't found any example of such slicing in Stack Overflow, but perhaps I'm missing something

Upvotes: 0

Views: 987

Answers (1)

Scott Boston
Scott Boston

Reputation: 153460

IIUC, you could simply do column filtering like this.

df_int[wl]

Output:

      400.0     408.2     412.5     417.2     420.5     423.3     425.0
0  0.293797  0.383745  0.424941  0.707308  0.793880 -0.233975  0.175342
1  1.306332 -0.872758 -0.301987 -0.683450 -0.534648  0.001957  0.940651
2 -0.477284 -0.076156 -0.268190  0.370769  0.434909 -0.235272  0.285097
3 -1.317292 -0.588243 -0.036146  1.169727  0.665479  0.831551  0.839762
4 -0.075600  0.166476  0.318865  0.128501 -1.167822 -1.533821 -0.795002

Upvotes: 1

Related Questions