pandas - numpy 数组到数据框,反之亦然
问题描述
我是python的菜鸟!
每行(序列)是一个会话。所以在这种情况下,它们是 6 个独立的序列。每个元素代表一些特定的活动。
'''
sequence = np.array([[5, 1, 1, 0, 0, 0],
[5, 1, 1, 0, 0, 0],
[5, 1, 1, 0, 0, 0],
[5, 1, 1, 0, 0, 0],
[5, 1, 1, 0, 0, 0],
[5, 1, 1, 300, 200, 100]])
anomaly = np.array((0,0,0,0,0,1))
''' 我得到了这两个变量,并且只需要对正常序列进行排序。
这是我尝试过的代码:'''
# sequence to dataframe
empty_df = pd.DataFrame(columns = ['Sequence'])
empty_df.reset_index()
for i in range(sequence.shape[0]):
empty_df = empty_df.append({"Sequence":sequence[i]},ignore_index = True) #
#concat anomaly
anomaly_df = pd.DataFrame(anomaly)
df = pd.concat([empty_df,anomaly_df],axis = 1)
df.columns = ['Sequence','anomaly']
df
'''
我不想使用 pd.DataFrame 因为它给了我这个:
pd.DataFrame(sequence)
无论如何,在制作df之后,我尝试对正常序列进行排序
#sorting normal seq
normal = df[df['anomaly'] == 0]['Sequence']
# back to numpy. only sequence column.
normal = normal.to_numpy()
normal.shape
''' 这个 numpy 给了我与变量序列不同的形状1。sequence.shape: (6,6) normal.shape =(5,)
我想要(5,6)。尝试重塑但没有用..有人可以帮我吗?如果我的问题有任何不具体的解释,请发表评论。我很感激。
解决方案
我不太确定您需要什么,但在这里您可以执行以下操作:
import pandas as pd
df = pd.DataFrame({'sequence':sequence.tolist(), 'anomaly':anomaly})
df
sequence anomaly
0 [5, 1, 1, 0, 0, 0] 0
1 [5, 1, 1, 0, 0, 0] 0
2 [5, 1, 1, 0, 0, 0] 0
3 [5, 1, 1, 0, 0, 0] 0
4 [5, 1, 1, 0, 0, 0] 0
5 [5, 1, 1, 300, 200, 100] 1
推荐阅读
- javascript - React Typescripted 高阶组件丢失了传递组件的通用 prop 类型
- python - 如何将前一行中的值与当前行中的值相乘
- xcode - 你如何在按钮之间共享一个随机生成的整数?
- angular - Angular:向 app.module.ts 添加导入会引发错误
- amazon-iam - Minio:密码更改策略
- javascript - 在 Javascript 中寻找最老的用户
- android - 程序类型已经存在:dagger.Binds
- c# - 如何将列表从我的第一个表单传递到第二个表单,向其中添加数据,然后在我的第一个表单上显示它?C#
- html - 将响应式卡片图像中的图标或按钮居中
- python - 如何在生成文件中添加多个标题(HDR)和对象?