Partitioned hard drive and now missing half the space
You can tell APFS to grow the container to fill the disk as follows:

diskutil apfs resizeContainer disk0s2 0


This is non-destructive, and will automatically grow it to fill the actual disk - that's what that last 0 means.

Full explanation:

Usage:  diskutil APFS resizeContainer &lt;inputDisk&gt; limits [-plist]
        diskutil APFS resizeContainer &lt;inputDisk&gt; &lt;newSize&gt; [&lt;triple&gt;*]
        where &lt;inputDisk&gt; = A Container Reference DiskIdentifier (preferred)
              or a Physical Store DiskIdentifier
              &lt;newSize&gt; = the desired new Container or Physical Store size
              &lt;triple&gt; = a { fileSystemPersonality, name, size } tuple
Resize an APFS Container. One of the Container's Physical Store disks will be
resized, and therefore the Container which it defines will be resized by an
equal amount. You do this by specifying a new Container size; to preview the
current available range, you can instead specify "limits"; no change will be
made. A new size of zero is taken as a request to do a grow-to-fit operation.
If the new size implies a shrink, you can specify ordered triples in the same
manner as `diskutil partitionDisk`, etc, to fill the partition map's free
space gap that would otherwise result. If there is more than one Physical Store
and you specify a Container Reference, the appropriate Physical Store will be
chosen automatically. Ownership of the affected disks is required, and all of
the Container's Volumes must be unencrypted or unlocked.
Example:  diskutil apfs resizeContainer disk5 110g
          diskutil apfs resizeContainer disk0s2 110g
          diskutil apfs resizeContainer disk5 0
          diskutil apfs resizeContainer disk5 1.5t jhfs+ foo 10g ms-dos BAR 0