Handeling在熊猫中的特定列的形状

时间:2017-05-24 19:34:39

标签: python pandas numpy

我有pandas.DataFrame我只对最后一列的值感兴趣。

np.shape(dataframe.iloc[:,:])  # the output is (2190,460)
# Now here is the shape of one cell in the last column 

np.shape(dataframe.iloc[0,-1]) # the output is ( 20,)

dataframe.iloc[0,-1] # the output [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

我的问题是如何将此列保存为以下形状:(2190, 20) 自从跑步:

np.shape(dataframe.iloc[:,-1]) # the output (2190,)

这种形状给我带来了巨大的问题

使用循环解决方案:

Test_Labels = []
for i in range(len(dataframe)):
    Test_Labels.append(dataframe.iloc[i,-1])
np.shape(Test_Labels)

如果有人可以使用熊猫功能解决它,很高兴看到它。

1 个答案:

答案 0 :(得分:0)

您可以从pandas.DataFrame获取最后一列,如:

<强>代码:

 total += decimal.Parse(item.SubItems[4].Text, NumberStyles.Currency);

测试代码:

decimal d;    
if(decimal.TryParse(item.SubItems[4].Text, NumberStyles.Currency, CultureInfo.CurrentCulture, out d))
    total += d;

<强>结果:

df[df.columns[-1]]

但我需要将结果作为数组数组而不是列表

如果您需要将列表数组转换为数组,则将整个转换为df = pd.DataFrame({"a": [dt.datetime(2017, 1, 3), dt.datetime(2017, 2, 4), dt.datetime(2017, 3, 5)], "b": [[2, 4], [6, 8], [10, 12]]}) print(df) print(df[df.columns[-1]]) ,numpy将到达并且将内部列表转换为数组。

           a         b
0 2017-01-03    [2, 4]
1 2017-02-04    [6, 8]
2 2017-03-05  [10, 12]

0      [2, 4]
1      [6, 8]
2    [10, 12]
Name: b, dtype: object

<强>结果:

numpy.array