【问题标题】:how to add new columns on multiple data frames in python如何在python中的多个数据框中添加新列
【发布时间】:2021-10-14 00:15:57
【问题描述】:

我正在尝试在多个相同的数据帧(例如 df1、df2、df3、df4、df5)上添加新列 ['Name']。

这是我的代码

df_list = [df1, df2, df3, df4, df5]
lists = ["btcusd", "ethusd", "usdtusd", "adausd", "dogeusd"]

for i in range(len(lists)): 
    df[i+1]['Name'] = lists[i]

我得到了这个错误

基本上,我正在尝试为下图制作简码

enter image description here

请告诉我如何存档

【问题讨论】:

  • 看来df 是在您的程序的其他地方定义的DataFrame,它的MultiIndex 列在顶层没有Name。您很可能打算从 DataFrame 列表中进行选择,例如 df_list[i+1]['Name'] = lists[i]
  • 天啊...你是对的。我刚刚更改了代码,它工作了.. 我没有注意到它是 df 而不是 df_list .. 谢谢你的帮助!

标签: python pandas dataframe


【解决方案1】:
df1 = pd.DataFrame(columns=['A'])
df2 = pd.DataFrame(columns=['B'])
df3 = pd.DataFrame(columns=['C'])
df4 = pd.DataFrame(columns=['D'])
df5 = pd.DataFrame(columns=['E'])

df_list = [df1, df2, df3, df4, df5]
lists = ["btcusd", "ethusd", "usdtusd", "adausd", "dogeusd"]

for df in df_list:
    df[lists] = ''
    print(df.columns)

输出:

【讨论】:

  • 数据框中没有数据,只有显示如何添加列列表的列。
  • @gwandg 如果这回答了您的问题,请点击“打勾”标记接受。谢谢。
  • 对于这么晚的回复,我深表歉意,非常感谢您的帮助。我想要做的是为这段代码制作一个简短的代码 # 复制每个数据帧 df1_copy = df1.copy() df2_copy = df2.copy() df3_copy = df3.copy() df5_copy = df5.copy() df1_copy['Name'] = lists[0] df2_copy['Name'] = lists[1] df3_copy['Name'] = lists[2] df4_copy['Name'] = lists[3 ] df5_copy['Name'] = lists[4] # 将所有数据帧追加到一个 df = df1_copy.copy() df = df.append([df2_copy, df3_copy, df4_copy, df5_copy]) df.info()
猜你喜欢
  • 2019-08-12
  • 2023-02-23
  • 1970-01-01
  • 1970-01-01
  • 2017-03-30
  • 1970-01-01
  • 2022-01-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多