python - df.append() 未附加到 DataFrame
问题描述
我提出了这个关于添加带索引的行的问题,但我还不清楚当没有索引时如何/为什么会发生这种情况:
columnsList=['A','B','C','D']
df8=pd.DataFrame(columns=columnsList)
L=['value aa','value bb','value cc','value dd']
s = pd.Series(dict(zip(df8.columns, L)))
df8.append(s,ignore_index=True)
df8.append(s,ignore_index=True)
我希望这里有一个 2X4 数据帧。然而,没有添加任何值,也没有发生错误。
print(df8.shape)
#>>> (0,4)
为什么没有添加系列,为什么没有给出任何错误?
如果我尝试使用 LOC 添加一行,则会添加一个索引,
df8.loc[df8.index.max() + 1, :] = [4, 5, 6,7]
print(df8)
结果:
A B C D
NaN 4 5 6 7
我猜LOC和iLOC都不能用来追加没有索引名的行(即Loc添加索引名NaN,当索引号高于数据库的行时不能使用iLoc)
解决方案
DataFrame.append
不是就地操作。从文档中,
DataFrame.append(other, ignore_index=False, verify_integrity=False, sort=None)
将其他行附加到此帧的末尾,返回一个新对象。不在此框架中的列将添加为新列。
您需要将结果分配回去。
df8 = df8.append([s] * 2, ignore_index=True)
df8
A B C D
0 value aa value bb value cc value dd
1 value aa value bb value cc value dd
推荐阅读
- c - 使用C,在linux(raspberry pi)中如何使用socket函数扫描广告包
- javascript - 信用卡到期日验证
- spring-boot - org.springframework.beans.factory.BeanDefinitionStoreException 读取候选组件类失败
- swift4 - 没有为 UIimagePickerController 调用委托方法
- mongodb - 使用 mongoDb 时无法生成 IRI
- java - 将多个字符串组合成一个
- c++ - 实践中的联合、别名和类型双关:什么有效,什么无效?
- command-line-interface - 部署 Enterprise Bot App 时出错
- reactjs - React/Redux:事件 - 最先进的
- c# - 在c#中选择/单击树视图节点时如何检查树视图中的复选框