[英]How do I add new a new column to a (PySpark) Dataframe using logic from a string (or some other kind of metadata)?
[英]Make a new column panda from a string. Do I need some kind of iterable?
好的,這可行:
import pandas as pd
import numpy as np
ind = [0,1,2]
d = {'col1' : pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd']), 'col2' : pd.Series([5, 6, 7, 8], index=['a', 'b', 'c', 'd']), 'col3' : pd.Series([9, 10, 11, 12], index=['a', 'b', 'c', 'd'])}
df = pd.DataFrame(d)
print(df)
給出以下內容:
col1 col2 col3
a 1 5 9
b 2 6 10
c 3 7 11
d 4 8 12
使用數學添加一列,這可行:
df['new'] = df['col2'] + df['col3']
這使:
col1 col2 col3 new
a 1 5 9 14
b 2 6 10 16
c 3 7 11 18
d 4 8 12 20
但此操作無效:
df['new2'] = str(df['col3'])
如果給出這個,那很奇怪:
col1 col2 col3 new new2
a 1 5 9 14 a 9\nb 10\nc 11\nd 12\nName: col3...
b 2 6 10 16 a 9\nb 10\nc 11\nd 12\nName: col3...
c 3 7 11 18 a 9\nb 10\nc 11\nd 12\nName: col3...
d 4 8 12 20 a 9\nb 10\nc 11\nd 12\nName: col3...
幫助會很棒,謝謝!
嘗試一次
df['new2'] = df['col3'].astype(str)
df['new'] = df['col3'].apply(str)
您可以在熊貓中找到很多這樣的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.