import pandas as pd
df_1 = pd.DataFrame({'col1': ['a', 'a', 'a']})
df_2 = pd.DataFrame({'col1': ['b', 'b', 'b']})
df_2.index = [4,5,6]
df_1['col2'] = df_2.col1
我希望上面的示例中有一个简单的副本,但 df_1 中的“col2”全是 NA。我觉得很奇怪。这种选择的理由是什么?类似的例子在 R 中的工作方式不同。
import pandas as pd
df_1 = pd.DataFrame({'col1': ['a', 'a', 'a']})
df_2 = pd.DataFrame({'col1': ['b', 'b', 'b']})
df_2.index = [4,5,6]
df_1['col2'] = df_2.col1
我希望上面的示例中有一个简单的副本,但 df_1 中的“col2”全是 NA。我觉得很奇怪。这种选择的理由是什么?类似的例子在 R 中的工作方式不同。
这样做的目的是保持数据对齐。就像执行操作时对齐列一样。
这使得执行复杂的操作时不必像使用 numpy 那样担心行/列的顺序:
或者处理丢失的数据:
或者进行广播:
如果您想避免这种情况,您可以转换为数组:
输出: