这是数据
User Date Status
1 1/1/2018 A
1 1/2/2018 B
1 1/3/2018 C
2 1/4/2018 D
2 1/5/2018 E
3 1/6/2018 F
3 1/7/2018 G
3 1/8/2018 H
我正在努力做到这一点
User Date Status Previous
1 1/1/2018 A NaN
1 1/2/2018 B A
1 1/3/2018 C B
2 1/4/2018 D NaN
2 1/5/2018 E D
3 1/6/2018 F NaN
3 1/7/2018 G F
3 1/8/2018 H G
我尝试使用shift方法,但无法弄清楚我在做什么错。
df.sort_values(by=['user', 'date'], ascending=True, inplace=True)
df.set_index(['user', 'date'], inplace=True)
df['Previous'] = np.nan
for idx in df.index.levels[0]:
df.Previous[idx] = df.Status[idx].shift()
答案 0 :(得分:0)
尝试使用textView3
使您走上了正确的路,但是使用<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#444444">
<View
android:id="@+id/background"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="#FFFFFF"
app:layout_constraintBottom_toBottomOf="@+id/textView3"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="TextView 1"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="TextView 2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView1"/>
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:paddingBottom="16dp"
android:text="TextView 3"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView2"/>
</android.support.constraint.ConstraintLayout>
可以比使用迭代更快地完成操作(通常,通过数据帧进行迭代比较麻烦,并且有更好的方法内置于shift
):
groupby