精华内容
下载资源
问答
  • pandas复制一列数据
    千次阅读
    2020-12-23 20:56:34

    更新:

    In [11]: df['ReceiptNumber'] = (df.assign(ReceiptNumber=np.where(pd.notnull(df.Tender),

    ....: df['Rcpt#'],

    ....: np.nan))['ReceiptNumber']

    ....: .fillna(method='pad')

    ....: .astype(int))

    In [12]: df[['Rcpt#','Tender','ReceiptNumber']]

    Out[12]:

    Rcpt# Tender ReceiptNumber

    0 32381 Cash 32381

    1 18924 NaN 32381

    2 505101 NaN 32381

    3 32382 CrCd 32382

    4 502201 NaN 32382

    5 502201 NaN 32382

    6 32383 Cash 32383

    7 502201 NaN 32383

    8 32384 CrCd 32384

    9 505201 NaN 32384

    10 505201 NaN 32384

    11 32385 Cash 32385

    12 18924 NaN 32385

    13 32386 Cash 32386

    14 18924 NaN 32386

    老答案:

    df.assign(ReceiptNumber=np.where(pd.notnull(df.Tender),

    df['Rcpt#'],

    np.nan))['ReceiptNumber']

    .fillna(method='pad')

    PS这个片段没有经过测试,因为你没有在文本表格中提供你的数据集,所以我无法复制&粘贴它

    更多相关内容
  • 解决方案 You can simply assign the B to the new column , Like - df['D'] = df['B'] Example/Demo - In [1]: import pandas as pd In [2]: df = pd.DataFrame([['a.1','b.1','c.1'],['a.2','b.2','c.2'],['a.3',...

    This is a very basic question, I just can not seem to find an answer.

    I have a dataframe like this, called df:

    A B C

    a.1 b.1 c.1

    a.2 b.2 c.2

    a.3 b.3 c.3

    Then I extract all the rows from df, where column 'B' has a value of 'b.2'. I assign these results to df_2.

    df_2 = df[df['B'] == 'b.2']

    df_2 becomes:

    A B C

    a.2 b.2 c.2

    Then, I copy all the values in column 'B' to a new column named 'D'. Causing df_2 to become:

    A B C D

    a.2 b.2 c.2 b.2

    When I preform an assignment like this:

    df_2['D'] = df_2['B']

    I get the following warning:

    A value is trying to be set on a copy of a slice from a DataFrame. Try

    using .loc[row_indexer,col_indexer] = value instead

    I have also tried using .loc when creating df_2 like this:

    df_2 = df.loc[df['B'] == 'b.2']

    However, I still get the warning.

    Any help is greatly appreciated.

    解决方案

    You can simply assign the B to the new column , Like -

    df['D'] = df['B']

    Example/Demo -

    In [1]: import pandas as pd

    In [2]: df = pd.DataFrame([['a.1','b.1','c.1'],['a.2','b.2','c.2'],['a.3','b.3','c.3']],columns=['A','B','C'])

    In [3]: df

    Out[3]:

    A B C

    0 a.1 b.1 c.1

    1 a.2 b.2 c.2

    2 a.3 b.3 c.3

    In [4]: df['D'] = df['B'] #

    In [5]: df

    Out[5]:

    A B C D

    0 a.1 b.1 c.1 b.1

    1 a.2 b.2 c.2 b.2

    2 a.3 b.3 c.3 b.3

    In [6]: df.loc[0,'D'] = 'd.1'

    In [7]: df

    Out[7]:

    A B C D

    0 a.1 b.1 c.1 d.1

    1 a.2 b.2 c.2 b.2

    2 a.3 b.3 c.3 b.3

    展开全文
  • 使用 pandas 添加一列数据

    千次阅读 2020-11-27 17:40:35
    import jqdataimport pandas as pdfrom pandas import DataFrameimport numpy as npsecurity = ['000001.XSHE', '000040.XSHE', '000099.XSHE'];h = get_price(security, start_date='2020-03-26', end_date='2020-0...

    import jqdata

    import pandas as pd

    from pandas import DataFrame

    import numpy as np

    security = ['000001.XSHE', '000040.XSHE', '000099.XSHE'];

    h = get_price(security, start_date='2020-03-26', end_date='2020-03-27', frequency='1m', fields=None, skip_paused=False, fq='pre')

    h = h.transpose(2,1,0);

    date='2020-03-26';

    for code in security:

    q = query(valuation).filter(valuation.code == code)

    c = get_fundamentals(q, date=None, statDate=None)

    capita_field = c['circulating_cap'][0]

    print(capita_field)

    h[code] = DataFrame(h[code])

    h[code]['circulating_cap'] = capita_field

    print(h[code].head())

    for code in security:

    print(code)

    print(h[code].head())

    各种位老师!

    我在第一个循环时打印数据,感觉不对,但从遍历的结果看是三组数据中有二组新增一列是成功的。

    但是到了第二个循环打印出来的结果却是只有最后一组数据有新增一列数据,结果如下:

    bh6HaJAuu1.png!large

    复制内容如下:

    2020-03-25 00:00:00 - INFO - 1940575.25

    2020-03-25 00:00:00 - INFO - close high low money open volume

    2020-03-26 09:31:00 12.75 12.78 12.74 21562519 12.78 1689100

    2020-03-26 09:32:00 12.79 12.79 12.74 8336756 12.75 653100

    2020-03-26 09:33:00 12.80 12.80 12.78 9250124 12.78 723100

    2020-03-26 09:34:00 12.80 12.80 12.78 3501228 12.78 273700

    2020-03-26 09:35:00 12.82 12.82 12.79 8527458 12.79 665800

    circulating_cap

    2020-03-26 09:31:00 1940575.25

    2020-03-26 09:32:00 1940575.25

    2020-03-26 09:33:00 1940575.25

    2020-03-26 09:34:00 1940575.25

    2020-03-26 09:35:00 1940575.25

    2020-03-25 00:00:00 - INFO - 106034.0703

    2020-03-25 00:00:00 - INFO - close high low money open volume circulating_cap

    2020-03-26 09:31:00 3.54 3.55 3.53 1976123 3.54 558900 106034.0703

    2020-03-26 09:32:00 3.53 3.54 3.53 603107 3.53 170800 106034.0703

    2020-03-26 09:33:00 3.54 3.54 3.53 461279 3.53 130600 106034.0703

    2020-03-26 09:34:00 3.55 3.55 3.53 608014 3.54 171700 106034.0703

    2020-03-26 09:35:00 3.55 3.55 3.54 312608 3.55 88200 106034.0703

    2020-03-25 00:00:00 - INFO - 60607.043

    2020-03-25 00:00:00 - INFO - close high low money open volume circulating_cap

    2020-03-26 09:31:00 6.34 6.36 6.33 1521427 6.35 239700 60607.043

    2020-03-26 09:32:00 6.35 6.36 6.34 292984 6.34 46100 60607.043

    2020-03-26 09:33:00 6.36 6.36 6.35 245919 6.35 38700 60607.043

    2020-03-26 09:34:00 6.35 6.36 6.34 346777 6.35 54600 60607.043

    2020-03-26 09:35:00 6.38 6.39 6.36 760788 6.36 119300 60607.043

    但是到了第二个循环打印出来的结果却是只有最后一组数据有新增一列数据,结果如下:

    2020-03-25 00:00:00 - INFO - 000001.XSHE

    2020-03-25 00:00:00 - INFO - close high low money open volume

    2020-03-26 09:31:00 12.75 12.78 12.74 21562519 12.78 1689100

    2020-03-26 09:32:00 12.79 12.79 12.74 8336756 12.75 653100

    2020-03-26 09:33:00 12.80 12.80 12.78 9250124 12.78 723100

    2020-03-26 09:34:00 12.80 12.80 12.78 3501228 12.78 273700

    2020-03-26 09:35:00 12.82 12.82 12.79 8527458 12.79 665800

    2020-03-25 00:00:00 - INFO - 000040.XSHE

    2020-03-25 00:00:00 - INFO - close high low money open volume

    2020-03-26 09:31:00 3.54 3.55 3.53 1976123 3.54 558900

    2020-03-26 09:32:00 3.53 3.54 3.53 603107 3.53 170800

    2020-03-26 09:33:00 3.54 3.54 3.53 461279 3.53 130600

    2020-03-26 09:34:00 3.55 3.55 3.53 608014 3.54 171700

    2020-03-26 09:35:00 3.55 3.55 3.54 312608 3.55 88200

    2020-03-25 00:00:00 - INFO - 000099.XSHE

    2020-03-25 00:00:00 - INFO - close high low money open volume circulating_cap

    2020-03-26 09:31:00 6.34 6.36 6.33 1521427 6.35 239700 60607.043

    2020-03-26 09:32:00 6.35 6.36 6.34 292984 6.34 46100 60607.043

    2020-03-26 09:33:00 6.36 6.36 6.35 245919 6.35 38700 60607.043

    2020-03-26 09:34:00 6.35 6.36 6.34 346777 6.35 54600 60607.043

    2020-03-26 09:35:00 6.38 6.39 6.36 760788 6.36 119300 60607.043

    想不出错误在哪?请各位老师帮助

    展开全文
  • 此方法使用pandas和xlsxwriter。在设置(创建演示excel文件):import pandas as pddf1 = pd.DataFrame({'1_A': [1,2,3,4], '1_B': [5,4,6,5],'1_C': [8,7,9,0], '1_D': [9,7,8,5], '1_E': [2,4,9,8]})df2 = pd....

    此方法使用pandas和xlsxwriter。在

    设置(创建演示excel文件):import pandas as pd

    df1 = pd.DataFrame({'1_A': [1,2,3,4], '1_B': [5,4,6,5],

    '1_C': [8,7,9,0], '1_D': [9,7,8,5], '1_E': [2,4,9,8]})

    df2 = pd.DataFrame({'1_A': [5,4,1,3], '1_B': [55,2,3,4]})

    setup_dict = {'Sheet_1': df1, 'Sheet_2': df2}

    with pd.ExcelWriter('excel_file.xlsx',

    engine='xlsxwriter') as writer:

    for ws_name, df_sheet in setup_dict.items():

    df_sheet.to_excel(writer, sheet_name=ws_name)

    (从这里开始读取现有的excel文件)

    ^{pr2}$

    也可以使用其他方法来组合列,例如join(使用表示原始工作表的不同后缀)

    因为当excel文件

    已读。在

    编辑(用于新工作表和唯一列名…)ws_dict = pd.read_excel('excel_file.xlsx', sheetname=None)

    #Modify the Sheet_2 worksheet dataframe:

    #(or, create a new worksheet by assigning concatenated df to a new key,

    #such as ws_dict['Sheet_3'] = ...)

    ws_dict['Sheet_3'] = ws_dict['Sheet_2'][['1_A','1_B']].join(ws_dict['Sheet_1'][['1_A','1_B','1_C']],

    lsuffix='_sh2', rsuffix='_sh1', how='outer')

    #Write the ws_dict back to disk as an excel file:

    #(replace 'excel_file.xlsx' with your desired file path.)

    with pd.ExcelWriter('excel_file.xlsx',

    engine='xlsxwriter') as writer:

    for ws_name, df_sheet in ws_dict.items():

    df_sheet.to_excel(writer, sheet_name=ws_name)

    展开全文
  • 今天小编就为大家分享篇利用pandas将非数值数据转换成数值的方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 使用.loc来设置个可对齐的帧并没有什么本质上的慢,尽管它确实要经过一些代码来覆盖很多情况,所以可能在个紧密的循环中是不理想的。仅供参考,本例与第二例略有不同。In [1]: import numpy as npIn [2]: import...
  • 主要介绍了Pandas DataFrame数据的更改、插入新增的和行的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • In [1]: import numpy as np In [2]: import pandas as pd In [3]: from pandas import DataFrame In [4]: df = DataFrame(1.,index=list('abcdefghij'),columns=[0,1,2]) In [5]: df Out[5]: 0 1 2 a 1 1 1 b 1 1 ...
  • 主要介绍了修改Pandas的行或的名字(重命名),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • pandas之dataframe移动复制删除

    千次阅读 2018-06-19 17:28:16
    pandas的DataFrame非常灵活,我们可以快速的移动、复制、删除列,今天就用案例来说明一下具体的工作是如何完成的。 首先我们创建一个dataframe 打印一下: 增加列,我们可以把df当作...永久删除一列数据用del...
  • 展开全部【excel】怎么用宏将一个表格的某一列复制到另一个表格中去的方法。如下参考e69da5e6ba903231313335323631343130323136353331333433626561:1.Excel选项点击常用,勾选功能区显示开发工具,可以在Excel选项...
  • mysql复制表中的一列到另一个表中有时候,我们需要复制某个字段一整列的数据到另外一个新的字段中,这很简单,SQL可以这么写:UPDATE tb_1 SET content_target = content_source;大概写法如下:Update {your_table} ...
  • pandas
  • Pandas如何指定某一列作为索引

    万次阅读 2022-02-24 12:01:50
    # 以商品名称这一列作为索引 df1 = df.set_index('商品名称') # 有时候数据没有表头,即发生了缺失: # 指定第一列为索引 df1 = pd.read_excel(df,index_col=0)
  • 导语Pandas数据分析中个至关重要的库,它是大多数据项目的支柱。如果你想从事数据分析相关的职业,那么你要做的第件事情就是学习Pandas。通过这课,您将会:1、对Pandas个全面的认识;2、学会安装和导入...
  • 本文详细介绍Pandas数据结构DataFrame和Series的常用方法。欢迎微信随缘关注@pythonic生物人本文可以学到什么?1、pandas简介 2、pandas数据结构之-Series pandas.Series快速创建 pandas.Series取出所有值:values ...
  • pandas 索引与相互转化
  • pandas 处理csv的列数据

    千次阅读 2022-04-05 14:47:59
    个很简单的功能,计算显示hit数字之和,即80=20+20+25+15. 解决方法: Step1: 新建个test.txt, 将下面内容复制到test.txt,然后重命名为test.csv. ,datetime,host,hit,volume 0,2018/7/24,weibo.com,20,...
  • python – Pandas列列分成多

    千次阅读 2020-12-03 19:17:02
    您可以将DataFrame构造函数与通过values转换为numpy数组创建的列表一起使用tolist:import pandas as pdd1 = {'teams': [['SF', 'NYG'],['SF', 'NYG'],['SF', 'NYG'],['SF', 'NYG'],['SF', 'NYG'],['SF', 'NYG'],['...
  • import pandas as pd df = pd.DataFrame(data={ 'id': ['1', '2', '3'], 'col1' : [ 5, 6, 7], 'col2' : [ 10, 13, 8] }) print(df) # 1表示复制第2行 temp_df = df.iloc[1] # 复制的次数 for t in range(5): ...
  • 慕哥9229398为提升性能,应减少pandas.DataFrame.apply()的逐行操作,在本例中可改用numpy.where()二元操作符,如下In[1]:importpandasaspdIn[2]:importnumpyasnpIn[3]:df1=pd.DataFrame({'t':[1,2,3],'user_id':[10...
  • 全文共1370字,预计学习时长7分钟图源:realpython几乎人人都在用Excel,这种极易上手的数据分析工具无处不在,一旦你掌握了窍门,它就变得非常强大。而Python通常被认为更具有挑战性,但能做的事也更多。当Python...
  • 运行环境:python3 作者:K同学啊 精选专栏:《深度学习...data_2 = data.copy(deep=True) # 进行深度复制 data_2["SEX"] = data_2["SEX"].replace([1,2],["男","女"]) data_2["EDUCATION"] = data_2["EDUCATION"].
  • pandas列反转

    2021-07-08 17:48:30
    python处理表格时,常常会有需要反转的情况。...将原表格复制一份: 这一步不是必须的,但还是建议在副本上操作,防止操作失误污染原表格 new=data.copy(deep=True) #参数deep=True不影响原表格 使用iloc方法获取每
  • pandas中对进行上下平移(shift)

    万次阅读 2018-09-18 10:38:23
    在利用Python进行数据操作时,有时需要对数据某列数据进行上下平移,比如对某一列进行错位加减,pandas里的groupby和shift两个函数就能轻松实现上述操作。 df = pd.DataFrame({"name":["a",&...
  • 翻起了之前遇到的一个奇怪的需求,具体细节记不得了,只记得小姐姐当时一脸严肃的说,我这儿有一堆数据,某一列可能是列表,你把他们展开,一会儿给我。当时我还一脸懵逼,回味了很久才大致知道她啥意思。大概就是...
  • Python中将pandas的dataframe拷贝到剪切板并保持格式实战:to_clipboard()函数、复制到Excel文件、复制到文本文件(默认是tsv格式)、复制到文本文件(设置逗号分隔符) 目录 Python中将pandas的dataframe拷贝到...
  • Pandas-获取给定的第行值

    千次阅读 2020-12-21 12:50:51
    要选择ith行,use ^{}:In [31]: df_test.iloc[0]Out[31]:ATime 1.2X 2.0Y 15.0Z 2.0Btime 1.2C 12.0D 25.0E 12.0Name: 0, dtype: float64要选择Btime中的第i个值,可以使用:In [...
  • 小弟的目录1.1Pandas概述:1.2Pandas数据结构分析SeriesSeries的介绍Series对象的创建DataFrameDataFrame的介绍:DataFrame对象的创建:重置索引reindex参数说明1.3索引操作Series类型的索引操作DataFrame的索引操作...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,160
精华内容 4,064
关键字:

pandas复制一列数据