import pandas as pd
df = pd.DataFrame({"a": [1, 2, 3], "b": [4, 5, 6]})
empty_row_index = ("zero_scan")
empty_row_df = pd.DataFrame({c: [None] for c in df.columns})
empty_row_df.index = [empty_row_index]
df2 = pd.concat([empty_row_df, df])result = df2.loc[df2.index[0], :]
有效
import pandas as pd
df = pd.DataFrame({"a": [1, 2, 3], "b": [4, 5, 6]})
empty_row_index = ("zero_scan",)
empty_row_df = pd.DataFrame({c: [None] for c in df.columns})
empty_row_df.index = [empty_row_index]
df2 = pd.concat([empty_row_df, df])result = df2.loc[df2.index[0], :]
按键错误。
注意
"zero_scan"
与 "zero_scan",
。
这是一个测试程序,我需要使用多索引的
"zero_scan",
版本。
如何纠正按索引对行的访问?
在第一个示例中,您分配单个字符串“zero_scan”作为索引,创建单级索引。
并且,在第二个示例中,您分配一个元组(“zero_scan”)作为索引,创建多级索引。
使用
df2.loc[("zero_scan",), :]
,您可以正确访问具有多级索引的行
import pandas as pd
df = pd.DataFrame({"a": [1, 2, 3], "b": [4, 5, 6]})
empty_row_index = ("zero_scan",)
empty_row_df = pd.DataFrame({c: [None] for c in df.columns})
empty_row_df.index = [empty_row_index]
df2 = pd.concat([empty_row_df, df])
# Access the row by index using the tuple format
result = df2.loc[("zero_scan",), :]
print(result)