【发布时间】:2017-11-22 12:47:58
【问题描述】:
假设我有一个像
这样的数据框df = pd.DataFrame({'A':[1,2,3,4],'B':[1,3,4,7]})
甲乙
0 1 1
1 2 3
2 3 4
3 4 7
当我分配一些数据来转置数据帧时,没有错误,即
df.T['C'] = 3
运行后数据框没有变化。
但问题是数据存储在哪里?为什么它没有给出任何错误?我期待这种分配的错误或像
这样的输出 甲乙 0 1 1 1 2 3 2 3 4 3 4 7 C 3 3我做df.T['C'] = 3时都没有发生
编辑:正如@Zero 提到的,我们可能不得不这样做
df = df.T.assign(C=3).T # Which is like df.loc['C',:] = 3
【问题讨论】:
-
df.T['C'] = 3 的预期结果是什么?
-
改用
df.T.assign(C=3)? -
投反对票的我可以知道为什么吗?这真的是那么愚蠢的问题吗?
-
@Zero 先生,是的,我很想知道为什么数据会丢失。也许正如 Ayhan 所说,因为没有变量指向它。
-
问一下,是
df = df.T['C'] = 3还是df.T['C'] = 3?下面的答案谈到了这一点。
标签: python pandas dataframe transpose